Created
November 2, 2023 14:24
-
-
Save jether2011/470f1450fbafa78a5692e1fbcc4e67ff 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.22+commit.4fc1097e.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.8.2 <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": "b24fdf58c380cb7a8e4d3bc67ae6ffae", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.22", | |
"solcLongVersion": "0.8.22+commit.4fc1097e", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/Register.sol": { | |
"content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.22;\n \ncontract Register {\n string private storedInfo;\n\n function setInfo(string memory myInfo) external {\n storedInfo = myInfo;\n }\n\n function getInfo() external view returns (string memory) {\n return storedInfo;\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/Register.sol": { | |
"Register": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "getInfo", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "myInfo", | |
"type": "string" | |
} | |
], | |
"name": "setInfo", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/Register.sol\":58:297 contract Register {... */\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/Register.sol\":58:297 contract Register {... */\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 0x5a9b0b89\n eq\n tag_3\n jumpi\n dup1\n 0x937f6e77\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/Register.sol\":204:295 function getInfo() external view returns (string memory) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Register.sol\":114:198 function setInfo(string memory myInfo) external {... */\n tag_4:\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n tag_12\n jump\t// in\n tag_9:\n stop\n /* \"contracts/Register.sol\":204:295 function getInfo() external view returns (string memory) {... */\n tag_6:\n /* \"contracts/Register.sol\":246:259 string memory */\n 0x60\n /* \"contracts/Register.sol\":278:288 storedInfo */\n 0x00\n /* \"contracts/Register.sol\":271:288 return storedInfo */\n dup1\n sload\n tag_14\n swap1\n tag_15\n jump\t// in\n tag_14:\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_16\n swap1\n tag_15\n jump\t// in\n tag_16:\n dup1\n iszero\n tag_17\n jumpi\n dup1\n 0x1f\n lt\n tag_18\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_17)\n tag_18:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_19:\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_19\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_17:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"contracts/Register.sol\":204:295 function getInfo() external view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"contracts/Register.sol\":114:198 function setInfo(string memory myInfo) external {... */\n tag_12:\n /* \"contracts/Register.sol\":185:191 myInfo */\n dup1\n /* \"contracts/Register.sol\":172:182 storedInfo */\n 0x00\n /* \"contracts/Register.sol\":172:191 storedInfo = myInfo */\n swap1\n dup2\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\n tag_21:\n pop\n /* \"contracts/Register.sol\":114:198 function setInfo(string memory myInfo) external {... */\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_23:\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_24:\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_25:\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_26:\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_27:\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_23\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_24\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_25\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_26\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_8:\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_27\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:1424 */\n tag_28:\n /* \"#utility.yul\":1382:1388 */\n 0x00\n /* \"#utility.yul\":1415:1417 */\n 0x40\n /* \"#utility.yul\":1409:1418 */\n mload\n /* \"#utility.yul\":1399:1418 */\n swap1\n pop\n /* \"#utility.yul\":1349:1424 */\n swap1\n jump\t// out\n /* \"#utility.yul\":1430:1547 */\n tag_29:\n /* \"#utility.yul\":1539:1540 */\n 0x00\n /* \"#utility.yul\":1536:1537 */\n dup1\n /* \"#utility.yul\":1529:1541 */\n revert\n /* \"#utility.yul\":1553:1670 */\n tag_30:\n /* \"#utility.yul\":1662:1663 */\n 0x00\n /* \"#utility.yul\":1659:1660 */\n dup1\n /* \"#utility.yul\":1652:1664 */\n revert\n /* \"#utility.yul\":1676:1793 */\n tag_31:\n /* \"#utility.yul\":1785:1786 */\n 0x00\n /* \"#utility.yul\":1782:1783 */\n dup1\n /* \"#utility.yul\":1775:1787 */\n revert\n /* \"#utility.yul\":1799:1916 */\n tag_32:\n /* \"#utility.yul\":1908:1909 */\n 0x00\n /* \"#utility.yul\":1905:1906 */\n dup1\n /* \"#utility.yul\":1898:1910 */\n revert\n /* \"#utility.yul\":1922:2102 */\n tag_33:\n /* \"#utility.yul\":1970:2047 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1967:1968 */\n 0x00\n /* \"#utility.yul\":1960:2048 */\n mstore\n /* \"#utility.yul\":2067:2071 */\n 0x41\n /* \"#utility.yul\":2064:2065 */\n 0x04\n /* \"#utility.yul\":2057:2072 */\n mstore\n /* \"#utility.yul\":2091:2095 */\n 0x24\n /* \"#utility.yul\":2088:2089 */\n 0x00\n /* \"#utility.yul\":2081:2096 */\n revert\n /* \"#utility.yul\":2108:2389 */\n tag_34:\n /* \"#utility.yul\":2191:2218 */\n tag_79\n /* \"#utility.yul\":2213:2217 */\n dup3\n /* \"#utility.yul\":2191:2218 */\n tag_26\n jump\t// in\n tag_79:\n /* \"#utility.yul\":2183:2189 */\n dup2\n /* \"#utility.yul\":2179:2219 */\n add\n /* \"#utility.yul\":2321:2327 */\n dup2\n /* \"#utility.yul\":2309:2319 */\n dup2\n /* \"#utility.yul\":2306:2328 */\n lt\n /* \"#utility.yul\":2285:2303 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2273:2283 */\n dup3\n /* \"#utility.yul\":2270:2304 */\n gt\n /* \"#utility.yul\":2267:2329 */\n or\n /* \"#utility.yul\":2264:2352 */\n iszero\n tag_80\n jumpi\n /* \"#utility.yul\":2332:2350 */\n tag_81\n tag_33\n jump\t// in\n tag_81:\n /* \"#utility.yul\":2264:2352 */\n tag_80:\n /* \"#utility.yul\":2372:2382 */\n dup1\n /* \"#utility.yul\":2368:2370 */\n 0x40\n /* \"#utility.yul\":2361:2383 */\n mstore\n /* \"#utility.yul\":2151:2389 */\n pop\n /* \"#utility.yul\":2108:2389 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2395:2524 */\n tag_35:\n /* \"#utility.yul\":2429:2435 */\n 0x00\n /* \"#utility.yul\":2456:2476 */\n tag_83\n tag_28\n jump\t// in\n tag_83:\n /* \"#utility.yul\":2446:2476 */\n swap1\n pop\n /* \"#utility.yul\":2485:2518 */\n tag_84\n /* \"#utility.yul\":2513:2517 */\n dup3\n /* \"#utility.yul\":2505:2511 */\n dup3\n /* \"#utility.yul\":2485:2518 */\n tag_34\n jump\t// in\n tag_84:\n /* \"#utility.yul\":2395:2524 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2530:2838 */\n tag_36:\n /* \"#utility.yul\":2592:2596 */\n 0x00\n /* \"#utility.yul\":2682:2700 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2674:2680 */\n dup3\n /* \"#utility.yul\":2671:2701 */\n gt\n /* \"#utility.yul\":2668:2724 */\n iszero\n tag_86\n jumpi\n /* \"#utility.yul\":2704:2722 */\n tag_87\n tag_33\n jump\t// in\n tag_87:\n /* \"#utility.yul\":2668:2724 */\n tag_86:\n /* \"#utility.yul\":2742:2771 */\n tag_88\n /* \"#utility.yul\":2764:2770 */\n dup3\n /* \"#utility.yul\":2742:2771 */\n tag_26\n jump\t// in\n tag_88:\n /* \"#utility.yul\":2734:2771 */\n swap1\n pop\n /* \"#utility.yul\":2826:2830 */\n 0x20\n /* \"#utility.yul\":2820:2824 */\n dup2\n /* \"#utility.yul\":2816:2831 */\n add\n /* \"#utility.yul\":2808:2831 */\n swap1\n pop\n /* \"#utility.yul\":2530:2838 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2844:2990 */\n tag_37:\n /* \"#utility.yul\":2941:2947 */\n dup3\n /* \"#utility.yul\":2936:2939 */\n dup2\n /* \"#utility.yul\":2931:2934 */\n dup4\n /* \"#utility.yul\":2918:2948 */\n calldatacopy\n /* \"#utility.yul\":2982:2983 */\n 0x00\n /* \"#utility.yul\":2973:2979 */\n dup4\n /* \"#utility.yul\":2968:2971 */\n dup4\n /* \"#utility.yul\":2964:2980 */\n add\n /* \"#utility.yul\":2957:2984 */\n mstore\n /* \"#utility.yul\":2844:2990 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2996:3421 */\n tag_38:\n /* \"#utility.yul\":3074:3079 */\n 0x00\n /* \"#utility.yul\":3099:3165 */\n tag_91\n /* \"#utility.yul\":3115:3164 */\n tag_92\n /* \"#utility.yul\":3157:3163 */\n dup5\n /* \"#utility.yul\":3115:3164 */\n tag_36\n jump\t// in\n tag_92:\n /* \"#utility.yul\":3099:3165 */\n tag_35\n jump\t// in\n tag_91:\n /* \"#utility.yul\":3090:3165 */\n swap1\n pop\n /* \"#utility.yul\":3188:3194 */\n dup3\n /* \"#utility.yul\":3181:3186 */\n dup2\n /* \"#utility.yul\":3174:3195 */\n mstore\n /* \"#utility.yul\":3226:3230 */\n 0x20\n /* \"#utility.yul\":3219:3224 */\n dup2\n /* \"#utility.yul\":3215:3231 */\n add\n /* \"#utility.yul\":3264:3267 */\n dup5\n /* \"#utility.yul\":3255:3261 */\n dup5\n /* \"#utility.yul\":3250:3253 */\n dup5\n /* \"#utility.yul\":3246:3262 */\n add\n /* \"#utility.yul\":3243:3268 */\n gt\n /* \"#utility.yul\":3240:3352 */\n iszero\n tag_93\n jumpi\n /* \"#utility.yul\":3271:3350 */\n tag_94\n tag_32\n jump\t// in\n tag_94:\n /* \"#utility.yul\":3240:3352 */\n tag_93:\n /* \"#utility.yul\":3361:3415 */\n tag_95\n /* \"#utility.yul\":3408:3414 */\n dup5\n /* \"#utility.yul\":3403:3406 */\n dup3\n /* \"#utility.yul\":3398:3401 */\n dup6\n /* \"#utility.yul\":3361:3415 */\n tag_37\n jump\t// in\n tag_95:\n /* \"#utility.yul\":3080:3421 */\n pop\n /* \"#utility.yul\":2996:3421 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3441:3781 */\n tag_39:\n /* \"#utility.yul\":3497:3502 */\n 0x00\n /* \"#utility.yul\":3546:3549 */\n dup3\n /* \"#utility.yul\":3539:3543 */\n 0x1f\n /* \"#utility.yul\":3531:3537 */\n dup4\n /* \"#utility.yul\":3527:3544 */\n add\n /* \"#utility.yul\":3523:3550 */\n slt\n /* \"#utility.yul\":3513:3635 */\n tag_97\n jumpi\n /* \"#utility.yul\":3554:3633 */\n tag_98\n tag_31\n jump\t// in\n tag_98:\n /* \"#utility.yul\":3513:3635 */\n tag_97:\n /* \"#utility.yul\":3671:3677 */\n dup2\n /* \"#utility.yul\":3658:3678 */\n calldataload\n /* \"#utility.yul\":3696:3775 */\n tag_99\n /* \"#utility.yul\":3771:3774 */\n dup5\n /* \"#utility.yul\":3763:3769 */\n dup3\n /* \"#utility.yul\":3756:3760 */\n 0x20\n /* \"#utility.yul\":3748:3754 */\n dup7\n /* \"#utility.yul\":3744:3761 */\n add\n /* \"#utility.yul\":3696:3775 */\n tag_38\n jump\t// in\n tag_99:\n /* \"#utility.yul\":3687:3775 */\n swap2\n pop\n /* \"#utility.yul\":3503:3781 */\n pop\n /* \"#utility.yul\":3441:3781 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3787:4296 */\n tag_11:\n /* \"#utility.yul\":3856:3862 */\n 0x00\n /* \"#utility.yul\":3905:3907 */\n 0x20\n /* \"#utility.yul\":3893:3902 */\n dup3\n /* \"#utility.yul\":3884:3891 */\n dup5\n /* \"#utility.yul\":3880:3903 */\n sub\n /* \"#utility.yul\":3876:3908 */\n slt\n /* \"#utility.yul\":3873:3992 */\n iszero\n tag_101\n jumpi\n /* \"#utility.yul\":3911:3990 */\n tag_102\n tag_29\n jump\t// in\n tag_102:\n /* \"#utility.yul\":3873:3992 */\n tag_101:\n /* \"#utility.yul\":4059:4060 */\n 0x00\n /* \"#utility.yul\":4048:4057 */\n dup3\n /* \"#utility.yul\":4044:4061 */\n add\n /* \"#utility.yul\":4031:4062 */\n calldataload\n /* \"#utility.yul\":4089:4107 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4081:4087 */\n dup2\n /* \"#utility.yul\":4078:4108 */\n gt\n /* \"#utility.yul\":4075:4192 */\n iszero\n tag_103\n jumpi\n /* \"#utility.yul\":4111:4190 */\n tag_104\n tag_30\n jump\t// in\n tag_104:\n /* \"#utility.yul\":4075:4192 */\n tag_103:\n /* \"#utility.yul\":4216:4279 */\n tag_105\n /* \"#utility.yul\":4271:4278 */\n dup5\n /* \"#utility.yul\":4262:4268 */\n dup3\n /* \"#utility.yul\":4251:4260 */\n dup6\n /* \"#utility.yul\":4247:4269 */\n add\n /* \"#utility.yul\":4216:4279 */\n tag_39\n jump\t// in\n tag_105:\n /* \"#utility.yul\":4206:4279 */\n swap2\n pop\n /* \"#utility.yul\":4002:4289 */\n pop\n /* \"#utility.yul\":3787:4296 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4302:4482 */\n tag_40:\n /* \"#utility.yul\":4350:4427 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4347:4348 */\n 0x00\n /* \"#utility.yul\":4340:4428 */\n mstore\n /* \"#utility.yul\":4447:4451 */\n 0x22\n /* \"#utility.yul\":4444:4445 */\n 0x04\n /* \"#utility.yul\":4437:4452 */\n mstore\n /* \"#utility.yul\":4471:4475 */\n 0x24\n /* \"#utility.yul\":4468:4469 */\n 0x00\n /* \"#utility.yul\":4461:4476 */\n revert\n /* \"#utility.yul\":4488:4808 */\n tag_15:\n /* \"#utility.yul\":4532:4538 */\n 0x00\n /* \"#utility.yul\":4569:4570 */\n 0x02\n /* \"#utility.yul\":4563:4567 */\n dup3\n /* \"#utility.yul\":4559:4571 */\n div\n /* \"#utility.yul\":4549:4571 */\n swap1\n pop\n /* \"#utility.yul\":4616:4617 */\n 0x01\n /* \"#utility.yul\":4610:4614 */\n dup3\n /* \"#utility.yul\":4606:4618 */\n and\n /* \"#utility.yul\":4637:4655 */\n dup1\n /* \"#utility.yul\":4627:4708 */\n tag_108\n jumpi\n /* \"#utility.yul\":4693:4697 */\n 0x7f\n /* \"#utility.yul\":4685:4691 */\n dup3\n /* \"#utility.yul\":4681:4698 */\n and\n /* \"#utility.yul\":4671:4698 */\n swap2\n pop\n /* \"#utility.yul\":4627:4708 */\n tag_108:\n /* \"#utility.yul\":4755:4757 */\n 0x20\n /* \"#utility.yul\":4747:4753 */\n dup3\n /* \"#utility.yul\":4744:4758 */\n lt\n /* \"#utility.yul\":4724:4742 */\n dup2\n /* \"#utility.yul\":4721:4759 */\n sub\n /* \"#utility.yul\":4718:4802 */\n tag_109\n jumpi\n /* \"#utility.yul\":4774:4792 */\n tag_110\n tag_40\n jump\t// in\n tag_110:\n /* \"#utility.yul\":4718:4802 */\n tag_109:\n /* \"#utility.yul\":4539:4808 */\n pop\n /* \"#utility.yul\":4488:4808 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4814:4955 */\n tag_41:\n /* \"#utility.yul\":4863:4867 */\n 0x00\n /* \"#utility.yul\":4886:4889 */\n dup2\n /* \"#utility.yul\":4878:4889 */\n swap1\n pop\n /* \"#utility.yul\":4909:4912 */\n dup2\n /* \"#utility.yul\":4906:4907 */\n 0x00\n /* \"#utility.yul\":4899:4913 */\n mstore\n /* \"#utility.yul\":4943:4947 */\n 0x20\n /* \"#utility.yul\":4940:4941 */\n 0x00\n /* \"#utility.yul\":4930:4948 */\n keccak256\n /* \"#utility.yul\":4922:4948 */\n swap1\n pop\n /* \"#utility.yul\":4814:4955 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4961:5054 */\n tag_42:\n /* \"#utility.yul\":4998:5004 */\n 0x00\n /* \"#utility.yul\":5045:5047 */\n 0x20\n /* \"#utility.yul\":5040:5042 */\n 0x1f\n /* \"#utility.yul\":5033:5038 */\n dup4\n /* \"#utility.yul\":5029:5043 */\n add\n /* \"#utility.yul\":5025:5048 */\n div\n /* \"#utility.yul\":5015:5048 */\n swap1\n pop\n /* \"#utility.yul\":4961:5054 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5060:5167 */\n tag_43:\n /* \"#utility.yul\":5104:5112 */\n 0x00\n /* \"#utility.yul\":5154:5159 */\n dup3\n /* \"#utility.yul\":5148:5152 */\n dup3\n /* \"#utility.yul\":5144:5160 */\n shl\n /* \"#utility.yul\":5123:5160 */\n swap1\n pop\n /* \"#utility.yul\":5060:5167 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5173:5566 */\n tag_44:\n /* \"#utility.yul\":5242:5248 */\n 0x00\n /* \"#utility.yul\":5292:5293 */\n 0x08\n /* \"#utility.yul\":5280:5290 */\n dup4\n /* \"#utility.yul\":5276:5294 */\n mul\n /* \"#utility.yul\":5315:5412 */\n tag_115\n /* \"#utility.yul\":5345:5411 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":5334:5343 */\n dup3\n /* \"#utility.yul\":5315:5412 */\n tag_43\n jump\t// in\n tag_115:\n /* \"#utility.yul\":5433:5472 */\n tag_116\n /* \"#utility.yul\":5463:5471 */\n dup7\n /* \"#utility.yul\":5452:5461 */\n dup4\n /* \"#utility.yul\":5433:5472 */\n tag_43\n jump\t// in\n tag_116:\n /* \"#utility.yul\":5421:5472 */\n swap6\n pop\n /* \"#utility.yul\":5505:5509 */\n dup1\n /* \"#utility.yul\":5501:5510 */\n not\n /* \"#utility.yul\":5494:5499 */\n dup5\n /* \"#utility.yul\":5490:5511 */\n and\n /* \"#utility.yul\":5481:5511 */\n swap4\n pop\n /* \"#utility.yul\":5554:5558 */\n dup1\n /* \"#utility.yul\":5544:5552 */\n dup7\n /* \"#utility.yul\":5540:5559 */\n and\n /* \"#utility.yul\":5533:5538 */\n dup5\n /* \"#utility.yul\":5530:5560 */\n or\n /* \"#utility.yul\":5520:5560 */\n swap3\n pop\n /* \"#utility.yul\":5249:5566 */\n pop\n pop\n /* \"#utility.yul\":5173:5566 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5572:5649 */\n tag_45:\n /* \"#utility.yul\":5609:5616 */\n 0x00\n /* \"#utility.yul\":5638:5643 */\n dup2\n /* \"#utility.yul\":5627:5643 */\n swap1\n pop\n /* \"#utility.yul\":5572:5649 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5655:5715 */\n tag_46:\n /* \"#utility.yul\":5683:5686 */\n 0x00\n /* \"#utility.yul\":5704:5709 */\n dup2\n /* \"#utility.yul\":5697:5709 */\n swap1\n pop\n /* \"#utility.yul\":5655:5715 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5721:5863 */\n tag_47:\n /* \"#utility.yul\":5771:5780 */\n 0x00\n /* \"#utility.yul\":5804:5857 */\n tag_120\n /* \"#utility.yul\":5822:5856 */\n tag_121\n /* \"#utility.yul\":5831:5855 */\n tag_122\n /* \"#utility.yul\":5849:5854 */\n dup5\n /* \"#utility.yul\":5831:5855 */\n tag_45\n jump\t// in\n tag_122:\n /* \"#utility.yul\":5822:5856 */\n tag_46\n jump\t// in\n tag_121:\n /* \"#utility.yul\":5804:5857 */\n tag_45\n jump\t// in\n tag_120:\n /* \"#utility.yul\":5791:5857 */\n swap1\n pop\n /* \"#utility.yul\":5721:5863 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5869:5944 */\n tag_48:\n /* \"#utility.yul\":5912:5915 */\n 0x00\n /* \"#utility.yul\":5933:5938 */\n dup2\n /* \"#utility.yul\":5926:5938 */\n swap1\n pop\n /* \"#utility.yul\":5869:5944 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5950:6219 */\n tag_49:\n /* \"#utility.yul\":6060:6099 */\n tag_125\n /* \"#utility.yul\":6091:6098 */\n dup4\n /* \"#utility.yul\":6060:6099 */\n tag_47\n jump\t// in\n tag_125:\n /* \"#utility.yul\":6121:6212 */\n tag_126\n /* \"#utility.yul\":6170:6211 */\n tag_127\n /* \"#utility.yul\":6194:6210 */\n dup3\n /* \"#utility.yul\":6170:6211 */\n tag_48\n jump\t// in\n tag_127:\n /* \"#utility.yul\":6162:6168 */\n dup5\n /* \"#utility.yul\":6155:6159 */\n dup5\n /* \"#utility.yul\":6149:6160 */\n sload\n /* \"#utility.yul\":6121:6212 */\n tag_44\n jump\t// in\n tag_126:\n /* \"#utility.yul\":6115:6119 */\n dup3\n /* \"#utility.yul\":6108:6213 */\n sstore\n /* \"#utility.yul\":6026:6219 */\n pop\n /* \"#utility.yul\":5950:6219 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6225:6298 */\n tag_50:\n /* \"#utility.yul\":6270:6273 */\n 0x00\n /* \"#utility.yul\":6225:6298 */\n swap1\n jump\t// out\n /* \"#utility.yul\":6304:6493 */\n tag_51:\n /* \"#utility.yul\":6381:6413 */\n tag_130\n tag_50\n jump\t// in\n tag_130:\n /* \"#utility.yul\":6422:6487 */\n tag_131\n /* \"#utility.yul\":6480:6486 */\n dup2\n /* \"#utility.yul\":6472:6478 */\n dup5\n /* \"#utility.yul\":6466:6470 */\n dup5\n /* \"#utility.yul\":6422:6487 */\n tag_49\n jump\t// in\n tag_131:\n /* \"#utility.yul\":6357:6493 */\n pop\n /* \"#utility.yul\":6304:6493 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6499:6685 */\n tag_52:\n /* \"#utility.yul\":6559:6679 */\n tag_133:\n /* \"#utility.yul\":6576:6579 */\n dup2\n /* \"#utility.yul\":6569:6574 */\n dup2\n /* \"#utility.yul\":6566:6580 */\n lt\n /* \"#utility.yul\":6559:6679 */\n iszero\n tag_135\n jumpi\n /* \"#utility.yul\":6630:6669 */\n tag_136\n /* \"#utility.yul\":6667:6668 */\n 0x00\n /* \"#utility.yul\":6660:6665 */\n dup3\n /* \"#utility.yul\":6630:6669 */\n tag_51\n jump\t// in\n tag_136:\n /* \"#utility.yul\":6603:6604 */\n 0x01\n /* \"#utility.yul\":6596:6601 */\n dup2\n /* \"#utility.yul\":6592:6605 */\n add\n /* \"#utility.yul\":6583:6605 */\n swap1\n pop\n /* \"#utility.yul\":6559:6679 */\n jump(tag_133)\n tag_135:\n /* \"#utility.yul\":6499:6685 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6691:7234 */\n tag_53:\n /* \"#utility.yul\":6792:6794 */\n 0x1f\n /* \"#utility.yul\":6787:6790 */\n dup3\n /* \"#utility.yul\":6784:6795 */\n gt\n /* \"#utility.yul\":6781:7227 */\n iszero\n tag_138\n jumpi\n /* \"#utility.yul\":6826:6864 */\n tag_139\n /* \"#utility.yul\":6858:6863 */\n dup2\n /* \"#utility.yul\":6826:6864 */\n tag_41\n jump\t// in\n tag_139:\n /* \"#utility.yul\":6910:6939 */\n tag_140\n /* \"#utility.yul\":6928:6938 */\n dup5\n /* \"#utility.yul\":6910:6939 */\n tag_42\n jump\t// in\n tag_140:\n /* \"#utility.yul\":6900:6908 */\n dup2\n /* \"#utility.yul\":6896:6940 */\n add\n /* \"#utility.yul\":7093:7095 */\n 0x20\n /* \"#utility.yul\":7081:7091 */\n dup6\n /* \"#utility.yul\":7078:7096 */\n lt\n /* \"#utility.yul\":7075:7124 */\n iszero\n tag_141\n jumpi\n /* \"#utility.yul\":7114:7122 */\n dup2\n /* \"#utility.yul\":7099:7122 */\n swap1\n pop\n /* \"#utility.yul\":7075:7124 */\n tag_141:\n /* \"#utility.yul\":7137:7217 */\n tag_142\n /* \"#utility.yul\":7193:7215 */\n tag_143\n /* \"#utility.yul\":7211:7214 */\n dup6\n /* \"#utility.yul\":7193:7215 */\n tag_42\n jump\t// in\n tag_143:\n /* \"#utility.yul\":7183:7191 */\n dup4\n /* \"#utility.yul\":7179:7216 */\n add\n /* \"#utility.yul\":7166:7177 */\n dup3\n /* \"#utility.yul\":7137:7217 */\n tag_52\n jump\t// in\n tag_142:\n /* \"#utility.yul\":6796:7227 */\n pop\n pop\n /* \"#utility.yul\":6781:7227 */\n tag_138:\n /* \"#utility.yul\":6691:7234 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7240:7357 */\n tag_54:\n /* \"#utility.yul\":7294:7302 */\n 0x00\n /* \"#utility.yul\":7344:7349 */\n dup3\n /* \"#utility.yul\":7338:7342 */\n dup3\n /* \"#utility.yul\":7334:7350 */\n shr\n /* \"#utility.yul\":7313:7350 */\n swap1\n pop\n /* \"#utility.yul\":7240:7357 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7363:7532 */\n tag_55:\n /* \"#utility.yul\":7407:7413 */\n 0x00\n /* \"#utility.yul\":7440:7491 */\n tag_146\n /* \"#utility.yul\":7488:7489 */\n 0x00\n /* \"#utility.yul\":7484:7490 */\n not\n /* \"#utility.yul\":7476:7481 */\n dup5\n /* \"#utility.yul\":7473:7474 */\n 0x08\n /* \"#utility.yul\":7469:7482 */\n mul\n /* \"#utility.yul\":7440:7491 */\n tag_54\n jump\t// in\n tag_146:\n /* \"#utility.yul\":7436:7492 */\n not\n /* \"#utility.yul\":7521:7525 */\n dup1\n /* \"#utility.yul\":7515:7519 */\n dup4\n /* \"#utility.yul\":7511:7526 */\n and\n /* \"#utility.yul\":7501:7526 */\n swap2\n pop\n /* \"#utility.yul\":7414:7532 */\n pop\n /* \"#utility.yul\":7363:7532 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7537:7832 */\n tag_56:\n /* \"#utility.yul\":7613:7617 */\n 0x00\n /* \"#utility.yul\":7759:7788 */\n tag_148\n /* \"#utility.yul\":7784:7787 */\n dup4\n /* \"#utility.yul\":7778:7782 */\n dup4\n /* \"#utility.yul\":7759:7788 */\n tag_55\n jump\t// in\n tag_148:\n /* \"#utility.yul\":7751:7788 */\n swap2\n pop\n /* \"#utility.yul\":7821:7824 */\n dup3\n /* \"#utility.yul\":7818:7819 */\n 0x02\n /* \"#utility.yul\":7814:7825 */\n mul\n /* \"#utility.yul\":7808:7812 */\n dup3\n /* \"#utility.yul\":7805:7826 */\n or\n /* \"#utility.yul\":7797:7826 */\n swap1\n pop\n /* \"#utility.yul\":7537:7832 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7837:9232 */\n tag_22:\n /* \"#utility.yul\":7954:7991 */\n tag_150\n /* \"#utility.yul\":7987:7990 */\n dup3\n /* \"#utility.yul\":7954:7991 */\n tag_23\n jump\t// in\n tag_150:\n /* \"#utility.yul\":8056:8074 */\n 0xffffffffffffffff\n /* \"#utility.yul\":8048:8054 */\n dup2\n /* \"#utility.yul\":8045:8075 */\n gt\n /* \"#utility.yul\":8042:8098 */\n iszero\n tag_151\n jumpi\n /* \"#utility.yul\":8078:8096 */\n tag_152\n tag_33\n jump\t// in\n tag_152:\n /* \"#utility.yul\":8042:8098 */\n tag_151:\n /* \"#utility.yul\":8122:8160 */\n tag_153\n /* \"#utility.yul\":8154:8158 */\n dup3\n /* \"#utility.yul\":8148:8159 */\n sload\n /* \"#utility.yul\":8122:8160 */\n tag_15\n jump\t// in\n tag_153:\n /* \"#utility.yul\":8207:8274 */\n tag_154\n /* \"#utility.yul\":8267:8273 */\n dup3\n /* \"#utility.yul\":8259:8265 */\n dup3\n /* \"#utility.yul\":8253:8257 */\n dup6\n /* \"#utility.yul\":8207:8274 */\n tag_53\n jump\t// in\n tag_154:\n /* \"#utility.yul\":8301:8302 */\n 0x00\n /* \"#utility.yul\":8325:8329 */\n 0x20\n /* \"#utility.yul\":8312:8329 */\n swap1\n pop\n /* \"#utility.yul\":8357:8359 */\n 0x1f\n /* \"#utility.yul\":8349:8355 */\n dup4\n /* \"#utility.yul\":8346:8360 */\n gt\n /* \"#utility.yul\":8374:8375 */\n 0x01\n /* \"#utility.yul\":8369:8987 */\n dup2\n eq\n tag_156\n jumpi\n /* \"#utility.yul\":9031:9032 */\n 0x00\n /* \"#utility.yul\":9048:9054 */\n dup5\n /* \"#utility.yul\":9045:9122 */\n iszero\n tag_157\n jumpi\n /* \"#utility.yul\":9097:9106 */\n dup3\n /* \"#utility.yul\":9092:9095 */\n dup8\n /* \"#utility.yul\":9088:9107 */\n add\n /* \"#utility.yul\":9082:9108 */\n mload\n /* \"#utility.yul\":9073:9108 */\n swap1\n pop\n /* \"#utility.yul\":9045:9122 */\n tag_157:\n /* \"#utility.yul\":9148:9215 */\n tag_158\n /* \"#utility.yul\":9208:9214 */\n dup6\n /* \"#utility.yul\":9201:9206 */\n dup3\n /* \"#utility.yul\":9148:9215 */\n tag_56\n jump\t// in\n tag_158:\n /* \"#utility.yul\":9142:9146 */\n dup7\n /* \"#utility.yul\":9135:9216 */\n sstore\n /* \"#utility.yul\":9004:9226 */\n pop\n /* \"#utility.yul\":8339:9226 */\n jump(tag_155)\n /* \"#utility.yul\":8369:8987 */\n tag_156:\n /* \"#utility.yul\":8421:8425 */\n 0x1f\n /* \"#utility.yul\":8417:8426 */\n not\n /* \"#utility.yul\":8409:8415 */\n dup5\n /* \"#utility.yul\":8405:8427 */\n and\n /* \"#utility.yul\":8455:8492 */\n tag_159\n /* \"#utility.yul\":8487:8491 */\n dup7\n /* \"#utility.yul\":8455:8492 */\n tag_41\n jump\t// in\n tag_159:\n /* \"#utility.yul\":8514:8515 */\n 0x00\n /* \"#utility.yul\":8528:8736 */\n tag_160:\n /* \"#utility.yul\":8542:8549 */\n dup3\n /* \"#utility.yul\":8539:8540 */\n dup2\n /* \"#utility.yul\":8536:8550 */\n lt\n /* \"#utility.yul\":8528:8736 */\n iszero\n tag_162\n jumpi\n /* \"#utility.yul\":8621:8630 */\n dup5\n /* \"#utility.yul\":8616:8619 */\n dup10\n /* \"#utility.yul\":8612:8631 */\n add\n /* \"#utility.yul\":8606:8632 */\n mload\n /* \"#utility.yul\":8598:8604 */\n dup3\n /* \"#utility.yul\":8591:8633 */\n sstore\n /* \"#utility.yul\":8672:8673 */\n 0x01\n /* \"#utility.yul\":8664:8670 */\n dup3\n /* \"#utility.yul\":8660:8674 */\n add\n /* \"#utility.yul\":8650:8674 */\n swap2\n pop\n /* \"#utility.yul\":8719:8721 */\n 0x20\n /* \"#utility.yul\":8708:8717 */\n dup6\n /* \"#utility.yul\":8704:8722 */\n add\n /* \"#utility.yul\":8691:8722 */\n swap5\n pop\n /* \"#utility.yul\":8565:8569 */\n 0x20\n /* \"#utility.yul\":8562:8563 */\n dup2\n /* \"#utility.yul\":8558:8570 */\n add\n /* \"#utility.yul\":8553:8570 */\n swap1\n pop\n /* \"#utility.yul\":8528:8736 */\n jump(tag_160)\n tag_162:\n /* \"#utility.yul\":8764:8770 */\n dup7\n /* \"#utility.yul\":8755:8762 */\n dup4\n /* \"#utility.yul\":8752:8771 */\n lt\n /* \"#utility.yul\":8749:8928 */\n iszero\n tag_163\n jumpi\n /* \"#utility.yul\":8822:8831 */\n dup5\n /* \"#utility.yul\":8817:8820 */\n dup10\n /* \"#utility.yul\":8813:8832 */\n add\n /* \"#utility.yul\":8807:8833 */\n mload\n /* \"#utility.yul\":8865:8913 */\n tag_164\n /* \"#utility.yul\":8907:8911 */\n 0x1f\n /* \"#utility.yul\":8899:8905 */\n dup10\n /* \"#utility.yul\":8895:8912 */\n and\n /* \"#utility.yul\":8884:8893 */\n dup3\n /* \"#utility.yul\":8865:8913 */\n tag_55\n jump\t// in\n tag_164:\n /* \"#utility.yul\":8857:8863 */\n dup4\n /* \"#utility.yul\":8850:8914 */\n sstore\n /* \"#utility.yul\":8772:8928 */\n pop\n /* \"#utility.yul\":8749:8928 */\n tag_163:\n /* \"#utility.yul\":8974:8975 */\n 0x01\n /* \"#utility.yul\":8970:8971 */\n 0x02\n /* \"#utility.yul\":8962:8968 */\n dup9\n /* \"#utility.yul\":8958:8972 */\n mul\n /* \"#utility.yul\":8954:8976 */\n add\n /* \"#utility.yul\":8948:8952 */\n dup9\n /* \"#utility.yul\":8941:8977 */\n sstore\n /* \"#utility.yul\":8376:8987 */\n pop\n pop\n pop\n /* \"#utility.yul\":8339:9226 */\n tag_155:\n pop\n /* \"#utility.yul\":7929:9232 */\n pop\n pop\n pop\n /* \"#utility.yul\":7837:9232 */\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220078c3867812dc64df10608c88f97efe811b780b85ce6df4f286e1d285e6a79da64736f6c63430008160033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b506106498061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80635a9b0b8914610038578063937f6e7714610056575b5f80fd5b610040610072565b60405161004d919061019d565b60405180910390f35b610070600480360381019061006b91906102fa565b610101565b005b60605f80546100809061036e565b80601f01602080910402602001604051908101604052809291908181526020018280546100ac9061036e565b80156100f75780601f106100ce576101008083540402835291602001916100f7565b820191905f5260205f20905b8154815290600101906020018083116100da57829003601f168201915b5050505050905090565b805f908161010f9190610544565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561014a57808201518184015260208101905061012f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016f82610113565b610179818561011d565b935061018981856020860161012d565b61019281610155565b840191505092915050565b5f6020820190508181035f8301526101b58184610165565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61020c82610155565b810181811067ffffffffffffffff8211171561022b5761022a6101d6565b5b80604052505050565b5f61023d6101bd565b90506102498282610203565b919050565b5f67ffffffffffffffff821115610268576102676101d6565b5b61027182610155565b9050602081019050919050565b828183375f83830152505050565b5f61029e6102998461024e565b610234565b9050828152602081018484840111156102ba576102b96101d2565b5b6102c584828561027e565b509392505050565b5f82601f8301126102e1576102e06101ce565b5b81356102f184826020860161028c565b91505092915050565b5f6020828403121561030f5761030e6101c6565b5b5f82013567ffffffffffffffff81111561032c5761032b6101ca565b5b610338848285016102cd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038557607f821691505b60208210810361039857610397610341565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103bf565b61040486836103bf565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61044861044361043e8461041c565b610425565b61041c565b9050919050565b5f819050919050565b6104618361042e565b61047561046d8261044f565b8484546103cb565b825550505050565b5f90565b61048961047d565b610494818484610458565b505050565b5b818110156104b7576104ac5f82610481565b60018101905061049a565b5050565b601f8211156104fc576104cd8161039e565b6104d6846103b0565b810160208510156104e5578190505b6104f96104f1856103b0565b830182610499565b50505b505050565b5f82821c905092915050565b5f61051c5f1984600802610501565b1980831691505092915050565b5f610534838361050d565b9150826002028217905092915050565b61054d82610113565b67ffffffffffffffff811115610566576105656101d6565b5b610570825461036e565b61057b8282856104bb565b5f60209050601f8311600181146105ac575f841561059a578287015190505b6105a48582610529565b86555061060b565b601f1984166105ba8661039e565b5f5b828110156105e1578489015182556001820191506020850194506020810190506105bc565b868310156105fe57848901516105fa601f89168261050d565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220078c3867812dc64df10608c88f97efe811b780b85ce6df4f286e1d285e6a79da64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x649 DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5A9B0B89 EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0x937F6E77 EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x2FA JUMP JUMPDEST PUSH2 0x101 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH0 DUP1 SLOAD PUSH2 0x80 SWAP1 PUSH2 0x36E 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 0xAC SWAP1 PUSH2 0x36E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xCE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x544 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x12F JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x16F DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x179 DUP2 DUP6 PUSH2 0x11D JUMP JUMPDEST SWAP4 POP PUSH2 0x189 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x12D JUMP JUMPDEST PUSH2 0x192 DUP2 PUSH2 0x155 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1B5 DUP2 DUP5 PUSH2 0x165 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x20C DUP3 PUSH2 0x155 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x22B JUMPI PUSH2 0x22A PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x23D PUSH2 0x1BD JUMP JUMPDEST SWAP1 POP PUSH2 0x249 DUP3 DUP3 PUSH2 0x203 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x268 JUMPI PUSH2 0x267 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x271 DUP3 PUSH2 0x155 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x29E PUSH2 0x299 DUP5 PUSH2 0x24E JUMP JUMPDEST PUSH2 0x234 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0x1D2 JUMP JUMPDEST JUMPDEST PUSH2 0x2C5 DUP5 DUP3 DUP6 PUSH2 0x27E JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E1 JUMPI PUSH2 0x2E0 PUSH2 0x1CE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2F1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x1C6 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x32C JUMPI PUSH2 0x32B PUSH2 0x1CA JUMP JUMPDEST JUMPDEST PUSH2 0x338 DUP5 DUP3 DUP6 ADD PUSH2 0x2CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x385 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x398 JUMPI PUSH2 0x397 PUSH2 0x341 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x3FA PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x3BF JUMP JUMPDEST PUSH2 0x404 DUP7 DUP4 PUSH2 0x3BF 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x448 PUSH2 0x443 PUSH2 0x43E DUP5 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x425 JUMP JUMPDEST PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x461 DUP4 PUSH2 0x42E JUMP JUMPDEST PUSH2 0x475 PUSH2 0x46D DUP3 PUSH2 0x44F JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x3CB JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x489 PUSH2 0x47D JUMP JUMPDEST PUSH2 0x494 DUP2 DUP5 DUP5 PUSH2 0x458 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B7 JUMPI PUSH2 0x4AC PUSH0 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x49A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4CD DUP2 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x4D6 DUP5 PUSH2 0x3B0 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x4E5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x4F9 PUSH2 0x4F1 DUP6 PUSH2 0x3B0 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x499 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x51C PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x501 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x534 DUP4 DUP4 PUSH2 0x50D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x54D DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x566 JUMPI PUSH2 0x565 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x570 DUP3 SLOAD PUSH2 0x36E JUMP JUMPDEST PUSH2 0x57B DUP3 DUP3 DUP6 PUSH2 0x4BB JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5AC JUMPI PUSH0 DUP5 ISZERO PUSH2 0x59A JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x5A4 DUP6 DUP3 PUSH2 0x529 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x60B JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x5BA DUP7 PUSH2 0x39E JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5E1 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 PUSH2 0x5BC JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x5FE JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x5FA PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x50D 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD DUP13 CODESIZE PUSH8 0x812DC64DF10608C8 DUP16 SWAP8 0xEF 0xE8 GT 0xB7 DUP1 0xB8 0x5C 0xE6 0xDF 0x4F 0x28 PUSH15 0x1D285E6A79DA64736F6C6343000816 STOP CALLER ", | |
"sourceMap": "58:239:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@getInfo_21": { | |
"entryPoint": 114, | |
"id": 21, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@setInfo_13": { | |
"entryPoint": 257, | |
"id": 13, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_string_memory_ptr": { | |
"entryPoint": 652, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_string_memory_ptr": { | |
"entryPoint": 717, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptr": { | |
"entryPoint": 762, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 357, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 413, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 564, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 445, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_string_memory_ptr": { | |
"entryPoint": 590, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_string_storage": { | |
"entryPoint": 926, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 275, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 285, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"clean_up_bytearray_end_slots_t_string_storage": { | |
"entryPoint": 1211, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 1052, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clear_storage_range_t_bytes1": { | |
"entryPoint": 1177, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"convert_t_uint256_to_t_uint256": { | |
"entryPoint": 1070, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
"entryPoint": 1348, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"copy_calldata_to_memory_with_cleanup": { | |
"entryPoint": 638, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 301, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"divide_by_32_ceil": { | |
"entryPoint": 944, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 878, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_used_part_and_set_length_of_short_byte_array": { | |
"entryPoint": 1321, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 515, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"identity": { | |
"entryPoint": 1061, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mask_bytes_dynamic": { | |
"entryPoint": 1293, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 833, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"prepare_store_t_uint256": { | |
"entryPoint": 1103, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 462, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 466, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 458, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 454, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 341, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"shift_left_dynamic": { | |
"entryPoint": 959, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"shift_right_unsigned_dynamic": { | |
"entryPoint": 1281, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"storage_set_to_zero_t_uint256": { | |
"entryPoint": 1153, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"update_byte_slice_dynamic32": { | |
"entryPoint": 971, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"update_storage_value_t_uint256_to_t_uint256": { | |
"entryPoint": 1112, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"zero_value_for_split_t_uint256": { | |
"entryPoint": 1149, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:9235:1", | |
"nodeType": "YulBlock", | |
"src": "0:9235:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "66:40:1", | |
"nodeType": "YulBlock", | |
"src": "66:40:1", | |
"statements": [ | |
{ | |
"nativeSrc": "77:22:1", | |
"nodeType": "YulAssignment", | |
"src": "77:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "93:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "93:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "87:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "87:5:1" | |
}, | |
"nativeSrc": "87:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "87:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "77:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "77:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "7:99:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "49:5:1", | |
"nodeType": "YulTypedName", | |
"src": "49:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "59:6:1", | |
"nodeType": "YulTypedName", | |
"src": "59:6:1", | |
"type": "" | |
} | |
], | |
"src": "7:99:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "208:73:1", | |
"nodeType": "YulBlock", | |
"src": "208:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "225:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "225:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "230:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "230:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "218:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "218:6:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "218:19:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "218:19:1" | |
}, | |
{ | |
"nativeSrc": "246:29:1", | |
"nodeType": "YulAssignment", | |
"src": "246:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "265:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "265:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "270:4:1", | |
"nodeType": "YulLiteral", | |
"src": "270:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "261:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:1" | |
}, | |
"nativeSrc": "261:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "261:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "246:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "246:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "112:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "180:3:1", | |
"nodeType": "YulTypedName", | |
"src": "180:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "185:6:1", | |
"nodeType": "YulTypedName", | |
"src": "185:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "196:11:1", | |
"nodeType": "YulTypedName", | |
"src": "196:11:1", | |
"type": "" | |
} | |
], | |
"src": "112:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "349:184:1", | |
"nodeType": "YulBlock", | |
"src": "349:184:1", | |
"statements": [ | |
{ | |
"nativeSrc": "359:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "359:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "368:1:1", | |
"nodeType": "YulLiteral", | |
"src": "368:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "363:1:1", | |
"nodeType": "YulTypedName", | |
"src": "363:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "428:63:1", | |
"nodeType": "YulBlock", | |
"src": "428:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "453:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "453:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "458:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "458:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "449:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "449:3:1" | |
}, | |
"nativeSrc": "449:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "449:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "472:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "472:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "477:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "477:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "468:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "468:3:1" | |
}, | |
"nativeSrc": "468:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "468:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "462:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "462:5:1" | |
}, | |
"nativeSrc": "462:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "462:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "442:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "442:39:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "442:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "389:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "389:1:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "392:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "392:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "386:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "386:2:1" | |
}, | |
"nativeSrc": "386:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "386:13:1" | |
}, | |
"nativeSrc": "378:113:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "400:19:1", | |
"nodeType": "YulBlock", | |
"src": "400:19:1", | |
"statements": [ | |
{ | |
"nativeSrc": "402:15:1", | |
"nodeType": "YulAssignment", | |
"src": "402:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "411:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "411:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "414:2:1", | |
"nodeType": "YulLiteral", | |
"src": "414:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "407:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "407:3:1" | |
}, | |
"nativeSrc": "407:10:1", | |
"nodeType": "YulFunctionCall", | |
"src": "407:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "402:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "402:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "382:3:1", | |
"nodeType": "YulBlock", | |
"src": "382:3:1", | |
"statements": [] | |
}, | |
"src": "378:113:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "511:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "516:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "507:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "507:3:1" | |
}, | |
"nativeSrc": "507:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "507:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "525:1:1", | |
"nodeType": "YulLiteral", | |
"src": "525:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "500:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "500:6:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "500:27:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "500:27:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "287:246:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "331:3:1", | |
"nodeType": "YulTypedName", | |
"src": "331:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "336:3:1", | |
"nodeType": "YulTypedName", | |
"src": "336:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "341:6:1", | |
"nodeType": "YulTypedName", | |
"src": "341:6:1", | |
"type": "" | |
} | |
], | |
"src": "287:246:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "587:54:1", | |
"nodeType": "YulBlock", | |
"src": "587:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "597:38:1", | |
"nodeType": "YulAssignment", | |
"src": "597:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "615:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "615:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "622:2:1", | |
"nodeType": "YulLiteral", | |
"src": "622:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "611:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "611:3:1" | |
}, | |
"nativeSrc": "611:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "611:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "631:2:1", | |
"nodeType": "YulLiteral", | |
"src": "631:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "627:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "627:3:1" | |
}, | |
"nativeSrc": "627:7:1", | |
"nodeType": "YulFunctionCall", | |
"src": "627:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "607:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "607:3:1" | |
}, | |
"nativeSrc": "607:28:1", | |
"nodeType": "YulFunctionCall", | |
"src": "607:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "597:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "597:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "539:102:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "570:5:1", | |
"nodeType": "YulTypedName", | |
"src": "570:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "580:6:1", | |
"nodeType": "YulTypedName", | |
"src": "580:6:1", | |
"type": "" | |
} | |
], | |
"src": "539:102:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "739:285:1", | |
"nodeType": "YulBlock", | |
"src": "739:285:1", | |
"statements": [ | |
{ | |
"nativeSrc": "749:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "749:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "796:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "796:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "763:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "763:32:1" | |
}, | |
"nativeSrc": "763:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "763:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "753:6:1", | |
"nodeType": "YulTypedName", | |
"src": "753:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "811:78:1", | |
"nodeType": "YulAssignment", | |
"src": "811:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "877:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "877:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "882:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "882:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "818:58:1", | |
"nodeType": "YulIdentifier", | |
"src": "818:58:1" | |
}, | |
"nativeSrc": "818:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "818:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "811:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "811:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "937:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "937:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "944:4:1", | |
"nodeType": "YulLiteral", | |
"src": "944:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "933:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "933:3:1" | |
}, | |
"nativeSrc": "933:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "933:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "951:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "951:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "956:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "956:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "898:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "898:34:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "898:65:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "898:65:1" | |
}, | |
{ | |
"nativeSrc": "972:46:1", | |
"nodeType": "YulAssignment", | |
"src": "972:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "983:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "983:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "1010:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1010:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "988:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "988:21:1" | |
}, | |
"nativeSrc": "988:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "988:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "979:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "979:3:1" | |
}, | |
"nativeSrc": "979:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "979:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "972:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "972:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "647:377:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "720:5:1", | |
"nodeType": "YulTypedName", | |
"src": "720:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "727:3:1", | |
"nodeType": "YulTypedName", | |
"src": "727:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "735:3:1", | |
"nodeType": "YulTypedName", | |
"src": "735:3:1", | |
"type": "" | |
} | |
], | |
"src": "647:377:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1148:195:1", | |
"nodeType": "YulBlock", | |
"src": "1148:195:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1158:26:1", | |
"nodeType": "YulAssignment", | |
"src": "1158:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1170:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1170:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1181:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1181:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1166:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1166:3:1" | |
}, | |
"nativeSrc": "1166:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1166:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1158:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1158:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1205:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1205:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1216:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1216:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1201:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1201:3:1" | |
}, | |
"nativeSrc": "1201:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1201:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1224:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1224:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "1230:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1230:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "1220:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1220:3:1" | |
}, | |
"nativeSrc": "1220:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1220:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1194:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1194:6:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1194:47:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1194:47:1" | |
}, | |
{ | |
"nativeSrc": "1250:86:1", | |
"nodeType": "YulAssignment", | |
"src": "1250:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "1322:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1322:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nativeSrc": "1331:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1331:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "1258:63:1", | |
"nodeType": "YulIdentifier", | |
"src": "1258:63:1" | |
}, | |
"nativeSrc": "1258:78:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1258:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1250:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1250:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
"nativeSrc": "1030:313:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1120:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1120:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "1132:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1132:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1143:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1143:4:1", | |
"type": "" | |
} | |
], | |
"src": "1030:313:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1389:35:1", | |
"nodeType": "YulBlock", | |
"src": "1389:35:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1399:19:1", | |
"nodeType": "YulAssignment", | |
"src": "1399:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1415:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1415:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "1409:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1409:5:1" | |
}, | |
"nativeSrc": "1409:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1409:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1399:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1399:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nativeSrc": "1349:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1382:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1382:6:1", | |
"type": "" | |
} | |
], | |
"src": "1349:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1519:28:1", | |
"nodeType": "YulBlock", | |
"src": "1519:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1536:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1536:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1539:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1539:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1529:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1529:6:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1529:12:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1529:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "1430:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1430:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1642:28:1", | |
"nodeType": "YulBlock", | |
"src": "1642:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1659:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1659:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1662:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1662:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1652:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1652:6:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1652:12:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1652:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "1553:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1553:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1765:28:1", | |
"nodeType": "YulBlock", | |
"src": "1765:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1782:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1782:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1785:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1785:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1775:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1775:6:1" | |
}, | |
"nativeSrc": "1775:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1775:12:1" | |
}, | |
"nativeSrc": "1775:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1775:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "1676:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1676:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1888:28:1", | |
"nodeType": "YulBlock", | |
"src": "1888:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1905:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1905:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1908:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1908:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1898:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1898:6:1" | |
}, | |
"nativeSrc": "1898:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1898:12:1" | |
}, | |
"nativeSrc": "1898:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1898:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "1799:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1799:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1950:152:1", | |
"nodeType": "YulBlock", | |
"src": "1950:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1967:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1967:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1970:77:1", | |
"nodeType": "YulLiteral", | |
"src": "1970:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1960:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1960:6:1" | |
}, | |
"nativeSrc": "1960:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1960:88:1" | |
}, | |
"nativeSrc": "1960:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1960:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2064:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2064:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2067:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2067:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2057:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2057:6:1" | |
}, | |
"nativeSrc": "2057:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2057:15:1" | |
}, | |
"nativeSrc": "2057:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2057:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2088:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2088:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2091:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2091:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "2081:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2081:6:1" | |
}, | |
"nativeSrc": "2081:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2081:15:1" | |
}, | |
"nativeSrc": "2081:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2081:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nativeSrc": "1922:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1922:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2151:238:1", | |
"nodeType": "YulBlock", | |
"src": "2151:238:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2161:58:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2161:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2183:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2183:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2213:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2213:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2191:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2191:21:1" | |
}, | |
"nativeSrc": "2191:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2191:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2179:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2179:3:1" | |
}, | |
"nativeSrc": "2179:40:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2179:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2165:10:1", | |
"nodeType": "YulTypedName", | |
"src": "2165:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2330:22:1", | |
"nodeType": "YulBlock", | |
"src": "2330:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2332:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2332:16:1" | |
}, | |
"nativeSrc": "2332:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2332:18:1" | |
}, | |
"nativeSrc": "2332:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2332:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2273:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2273:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2285:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2285:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2270:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2270:2:1" | |
}, | |
"nativeSrc": "2270:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2270:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2309:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2309:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2321:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2321:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "2306:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2306:2:1" | |
}, | |
"nativeSrc": "2306:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2306:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "2267:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2267:2:1" | |
}, | |
"nativeSrc": "2267:62:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2267:62:1" | |
}, | |
"nativeSrc": "2264:88:1", | |
"nodeType": "YulIf", | |
"src": "2264:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2368:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2368:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2372:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2372:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2361:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2361:6:1" | |
}, | |
"nativeSrc": "2361:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2361:22:1" | |
}, | |
"nativeSrc": "2361:22:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2361:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nativeSrc": "2108:281:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2137:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2137:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "2145:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2145:4:1", | |
"type": "" | |
} | |
], | |
"src": "2108:281:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2436:88:1", | |
"nodeType": "YulBlock", | |
"src": "2436:88:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2446:30:1", | |
"nodeType": "YulAssignment", | |
"src": "2446:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nativeSrc": "2456:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "2456:18:1" | |
}, | |
"nativeSrc": "2456:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2456:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2446:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2446:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2505:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2505:6:1" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "2513:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2513:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nativeSrc": "2485:19:1", | |
"nodeType": "YulIdentifier", | |
"src": "2485:19:1" | |
}, | |
"nativeSrc": "2485:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2485:33:1" | |
}, | |
"nativeSrc": "2485:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2485:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nativeSrc": "2395:129:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2420:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2420:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2429:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2429:6:1", | |
"type": "" | |
} | |
], | |
"src": "2395:129:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2597:241:1", | |
"nodeType": "YulBlock", | |
"src": "2597:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2702:22:1", | |
"nodeType": "YulBlock", | |
"src": "2702:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2704:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2704:16:1" | |
}, | |
"nativeSrc": "2704:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2704:18:1" | |
}, | |
"nativeSrc": "2704:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2704:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2674:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2674:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2682:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2682:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2671:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2671:2:1" | |
}, | |
"nativeSrc": "2671:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2671:30:1" | |
}, | |
"nativeSrc": "2668:56:1", | |
"nodeType": "YulIf", | |
"src": "2668:56:1" | |
}, | |
{ | |
"nativeSrc": "2734:37:1", | |
"nodeType": "YulAssignment", | |
"src": "2734:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2764:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2764:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2742:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2742:21:1" | |
}, | |
"nativeSrc": "2742:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2742:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2734:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2734:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2808:23:1", | |
"nodeType": "YulAssignment", | |
"src": "2808:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2820:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2820:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2826:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2826:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2816:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2816:3:1" | |
}, | |
"nativeSrc": "2816:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2816:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2808:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2808:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "2530:308:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2581:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2581:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2592:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2592:4:1", | |
"type": "" | |
} | |
], | |
"src": "2530:308:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2908:82:1", | |
"nodeType": "YulBlock", | |
"src": "2908:82:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2931:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2931:3:1" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "2936:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2936:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2941:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2941:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nativeSrc": "2918:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "2918:12:1" | |
}, | |
"nativeSrc": "2918:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2918:30:1" | |
}, | |
"nativeSrc": "2918:30:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2918:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2968:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2968:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2973:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2973:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2964:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2964:3:1" | |
}, | |
"nativeSrc": "2964:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2964:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2982:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2982:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2957:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2957:6:1" | |
}, | |
"nativeSrc": "2957:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2957:27:1" | |
}, | |
"nativeSrc": "2957:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2957:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "2844:146:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "2890:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2890:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "2895:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2895:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2900:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2900:6:1", | |
"type": "" | |
} | |
], | |
"src": "2844:146:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3080:341:1", | |
"nodeType": "YulBlock", | |
"src": "3080:341:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3090:75:1", | |
"nodeType": "YulAssignment", | |
"src": "3090:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "3157:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3157:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "3115:41:1", | |
"nodeType": "YulIdentifier", | |
"src": "3115:41:1" | |
}, | |
"nativeSrc": "3115:49:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3115:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nativeSrc": "3099:15:1", | |
"nodeType": "YulIdentifier", | |
"src": "3099:15:1" | |
}, | |
"nativeSrc": "3099:66:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3099:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3090:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3090:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3181:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3181:5:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3188:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3188:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "3174:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3174:6:1" | |
}, | |
"nativeSrc": "3174:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3174:21:1" | |
}, | |
"nativeSrc": "3174:21:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3174:21:1" | |
}, | |
{ | |
"nativeSrc": "3204:27:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3204:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3219:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3219:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3226:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3226:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3215:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3215:3:1" | |
}, | |
"nativeSrc": "3215:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3215:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "3208:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3208:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3269:83:1", | |
"nodeType": "YulBlock", | |
"src": "3269:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "3271:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3271:77:1" | |
}, | |
"nativeSrc": "3271:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3271:79:1" | |
}, | |
"nativeSrc": "3271:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3271:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3250:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3250:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3255:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3255:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3246:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3246:3:1" | |
}, | |
"nativeSrc": "3246:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3246:16:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3264:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3264:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "3243:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3243:2:1" | |
}, | |
"nativeSrc": "3243:25:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3243:25:1" | |
}, | |
"nativeSrc": "3240:112:1", | |
"nodeType": "YulIf", | |
"src": "3240:112:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3398:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3398:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "3403:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3403:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3408:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3408:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "3361:36:1", | |
"nodeType": "YulIdentifier", | |
"src": "3361:36:1" | |
}, | |
"nativeSrc": "3361:54:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3361:54:1" | |
}, | |
"nativeSrc": "3361:54:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3361:54:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "2996:425:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3053:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3053:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3058:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3058:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3066:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3066:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3074:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3074:5:1", | |
"type": "" | |
} | |
], | |
"src": "2996:425:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3503:278:1", | |
"nodeType": "YulBlock", | |
"src": "3503:278:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3552:83:1", | |
"nodeType": "YulBlock", | |
"src": "3552:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "3554:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3554:77:1" | |
}, | |
"nativeSrc": "3554:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3554:79:1" | |
}, | |
"nativeSrc": "3554:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3554:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3531:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3531:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3539:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3539:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3527:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3527:3:1" | |
}, | |
"nativeSrc": "3527:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3527:17:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3546:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3546:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3523:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3523:3:1" | |
}, | |
"nativeSrc": "3523:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3523:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "3516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3516:6:1" | |
}, | |
"nativeSrc": "3516:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3516:35:1" | |
}, | |
"nativeSrc": "3513:122:1", | |
"nodeType": "YulIf", | |
"src": "3513:122:1" | |
}, | |
{ | |
"nativeSrc": "3644:34:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3644:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3671:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3671:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "3658:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "3658:12:1" | |
}, | |
"nativeSrc": "3658:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3658:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "3648:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3648:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3687:88:1", | |
"nodeType": "YulAssignment", | |
"src": "3687:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3748:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3748:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3756:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3756:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3744:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3744:3:1" | |
}, | |
"nativeSrc": "3744:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3744:17:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3763:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3763:6:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3771:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3771:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "3696:47:1", | |
"nodeType": "YulIdentifier", | |
"src": "3696:47:1" | |
}, | |
"nativeSrc": "3696:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3696:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3687:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3687:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "3441:340:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3481:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3481:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3489:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3489:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3497:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3497:5:1", | |
"type": "" | |
} | |
], | |
"src": "3441:340:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3863:433:1", | |
"nodeType": "YulBlock", | |
"src": "3863:433:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3909:83:1", | |
"nodeType": "YulBlock", | |
"src": "3909:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "3911:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3911:77:1" | |
}, | |
"nativeSrc": "3911:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3911:79:1" | |
}, | |
"nativeSrc": "3911:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3911:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3884:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "3884:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "3893:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "3893:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "3880:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3880:3:1" | |
}, | |
"nativeSrc": "3880:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3880:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3905:2:1", | |
"nodeType": "YulLiteral", | |
"src": "3905:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3876:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3876:3:1" | |
}, | |
"nativeSrc": "3876:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3876:32:1" | |
}, | |
"nativeSrc": "3873:119:1", | |
"nodeType": "YulIf", | |
"src": "3873:119:1" | |
}, | |
{ | |
"nativeSrc": "4002:287:1", | |
"nodeType": "YulBlock", | |
"src": "4002:287:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4017:45:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4017:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4048:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4048:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4059:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4059:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4044:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4044:3:1" | |
}, | |
"nativeSrc": "4044:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4044:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "4031:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "4031:12:1" | |
}, | |
"nativeSrc": "4031:31:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4031:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "4021:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4021:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4109:83:1", | |
"nodeType": "YulBlock", | |
"src": "4109:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "4111:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "4111:77:1" | |
}, | |
"nativeSrc": "4111:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4111:79:1" | |
}, | |
"nativeSrc": "4111:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4111:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "4081:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4081:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4089:18:1", | |
"nodeType": "YulLiteral", | |
"src": "4089:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "4078:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4078:2:1" | |
}, | |
"nativeSrc": "4078:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4078:30:1" | |
}, | |
"nativeSrc": "4075:117:1", | |
"nodeType": "YulIf", | |
"src": "4075:117:1" | |
}, | |
{ | |
"nativeSrc": "4206:73:1", | |
"nodeType": "YulAssignment", | |
"src": "4206:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4251:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4251:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "4262:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4262:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4247:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4247:3:1" | |
}, | |
"nativeSrc": "4247:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4247:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "4271:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4271:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "4216:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "4216:30:1" | |
}, | |
"nativeSrc": "4216:63:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4216:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "4206:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4206:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptr", | |
"nativeSrc": "3787:509:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "3833:9:1", | |
"nodeType": "YulTypedName", | |
"src": "3833:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3844:7:1", | |
"nodeType": "YulTypedName", | |
"src": "3844:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "3856:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3856:6:1", | |
"type": "" | |
} | |
], | |
"src": "3787:509:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4330:152:1", | |
"nodeType": "YulBlock", | |
"src": "4330:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4347:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4347:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4350:77:1", | |
"nodeType": "YulLiteral", | |
"src": "4350:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4340:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4340:6:1" | |
}, | |
"nativeSrc": "4340:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4340:88:1" | |
}, | |
"nativeSrc": "4340:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4340:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4444:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4444:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4447:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4447:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4437:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4437:6:1" | |
}, | |
"nativeSrc": "4437:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4437:15:1" | |
}, | |
"nativeSrc": "4437:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4437:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4468:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4468:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4471:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4471:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "4461:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4461:6:1" | |
}, | |
"nativeSrc": "4461:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4461:15:1" | |
}, | |
"nativeSrc": "4461:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4461:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nativeSrc": "4302:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4302:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4539:269:1", | |
"nodeType": "YulBlock", | |
"src": "4539:269:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4549:22:1", | |
"nodeType": "YulAssignment", | |
"src": "4549:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4563:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4563:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4569:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4569:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "4559:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4559:3:1" | |
}, | |
"nativeSrc": "4559:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4559:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4549:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4549:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4580:38:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4580:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4610:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4610:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4616:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4616:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4606:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4606:3:1" | |
}, | |
"nativeSrc": "4606:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4606:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "4584:18:1", | |
"nodeType": "YulTypedName", | |
"src": "4584:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4657:51:1", | |
"nodeType": "YulBlock", | |
"src": "4657:51:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4671:27:1", | |
"nodeType": "YulAssignment", | |
"src": "4671:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4685:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4685:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4693:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4693:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4681:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4681:3:1" | |
}, | |
"nativeSrc": "4681:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4681:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4671:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4671:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "4637:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "4637:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "4630:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4630:6:1" | |
}, | |
"nativeSrc": "4630:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4630:26:1" | |
}, | |
"nativeSrc": "4627:81:1", | |
"nodeType": "YulIf", | |
"src": "4627:81:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4760:42:1", | |
"nodeType": "YulBlock", | |
"src": "4760:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nativeSrc": "4774:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "4774:16:1" | |
}, | |
"nativeSrc": "4774:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4774:18:1" | |
}, | |
"nativeSrc": "4774:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4774:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "4724:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "4724:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4747:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4747:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4755:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4755:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4744:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4744:2:1" | |
}, | |
"nativeSrc": "4744:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4744:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "4721:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4721:2:1" | |
}, | |
"nativeSrc": "4721:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4721:38:1" | |
}, | |
"nativeSrc": "4718:84:1", | |
"nodeType": "YulIf", | |
"src": "4718:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nativeSrc": "4488:320:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4523:4:1", | |
"nodeType": "YulTypedName", | |
"src": "4523:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4532:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4532:6:1", | |
"type": "" | |
} | |
], | |
"src": "4488:320:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4868:87:1", | |
"nodeType": "YulBlock", | |
"src": "4868:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4878:11:1", | |
"nodeType": "YulAssignment", | |
"src": "4878:11:1", | |
"value": { | |
"name": "ptr", | |
"nativeSrc": "4886:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4886:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4878:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4878:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4906:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4906:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "ptr", | |
"nativeSrc": "4909:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4909:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4899:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4899:6:1" | |
}, | |
"nativeSrc": "4899:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4899:14:1" | |
}, | |
"nativeSrc": "4899:14:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4899:14:1" | |
}, | |
{ | |
"nativeSrc": "4922:26:1", | |
"nodeType": "YulAssignment", | |
"src": "4922:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4940:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4940:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4943:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4943:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "keccak256", | |
"nativeSrc": "4930:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4930:9:1" | |
}, | |
"nativeSrc": "4930:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4930:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4922:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4922:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "4814:141:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nativeSrc": "4855:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4855:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4863:4:1", | |
"nodeType": "YulTypedName", | |
"src": "4863:4:1", | |
"type": "" | |
} | |
], | |
"src": "4814:141:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5005:49:1", | |
"nodeType": "YulBlock", | |
"src": "5005:49:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5015:33:1", | |
"nodeType": "YulAssignment", | |
"src": "5015:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5033:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5033:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5040:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5040:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5029:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5029:3:1" | |
}, | |
"nativeSrc": "5029:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5029:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5045:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5045:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "5025:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5025:3:1" | |
}, | |
"nativeSrc": "5025:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5025:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "5015:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5015:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "4961:93:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4988:5:1", | |
"nodeType": "YulTypedName", | |
"src": "4988:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "4998:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4998:6:1", | |
"type": "" | |
} | |
], | |
"src": "4961:93:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5113:54:1", | |
"nodeType": "YulBlock", | |
"src": "5113:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5123:37:1", | |
"nodeType": "YulAssignment", | |
"src": "5123:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "5148:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5148:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "5154:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5154:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nativeSrc": "5144:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5144:3:1" | |
}, | |
"nativeSrc": "5144:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5144:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "5123:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5123:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_dynamic", | |
"nativeSrc": "5060:107:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "5088:4:1", | |
"nodeType": "YulTypedName", | |
"src": "5088:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "5094:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5094:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "5104:8:1", | |
"nodeType": "YulTypedName", | |
"src": "5104:8:1", | |
"type": "" | |
} | |
], | |
"src": "5060:107:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5249:317:1", | |
"nodeType": "YulBlock", | |
"src": "5249:317:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5259:35:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5259:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "5280:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "5280:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5292:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5292:1:1", | |
"type": "", | |
"value": "8" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "5276:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5276:3:1" | |
}, | |
"nativeSrc": "5276:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5276:18:1" | |
}, | |
"variables": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "5263:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5263:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5303:109:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5303:109:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "5334:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5334:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5345:66:1", | |
"nodeType": "YulLiteral", | |
"src": "5345:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "5315:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "5315:18:1" | |
}, | |
"nativeSrc": "5315:97:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5315:97:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "5307:4:1", | |
"nodeType": "YulTypedName", | |
"src": "5307:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5421:51:1", | |
"nodeType": "YulAssignment", | |
"src": "5421:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "5452:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5452:9:1" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5463:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5463:8:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "5433:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "5433:18:1" | |
}, | |
"nativeSrc": "5433:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5433:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5421:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5421:8:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5481:30:1", | |
"nodeType": "YulAssignment", | |
"src": "5481:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5494:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5494:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "5505:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5505:4:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "5501:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5501:3:1" | |
}, | |
"nativeSrc": "5501:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5501:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "5490:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5490:3:1" | |
}, | |
"nativeSrc": "5490:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5490:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5481:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5481:5:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5520:40:1", | |
"nodeType": "YulAssignment", | |
"src": "5520:40:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5533:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5533:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5544:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5544:8:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "5554:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5554:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "5540:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5540:3:1" | |
}, | |
"nativeSrc": "5540:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5540:19:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "5530:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "5530:2:1" | |
}, | |
"nativeSrc": "5530:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5530:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "5520:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5520:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "5173:393:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5210:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5210:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "5217:10:1", | |
"nodeType": "YulTypedName", | |
"src": "5217:10:1", | |
"type": "" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5229:8:1", | |
"nodeType": "YulTypedName", | |
"src": "5229:8:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "5242:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5242:6:1", | |
"type": "" | |
} | |
], | |
"src": "5173:393:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5617:32:1", | |
"nodeType": "YulBlock", | |
"src": "5617:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5627:16:1", | |
"nodeType": "YulAssignment", | |
"src": "5627:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "5638:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5638:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "5627:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "5627:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "5572:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5599:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5599:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "5609:7:1", | |
"nodeType": "YulTypedName", | |
"src": "5609:7:1", | |
"type": "" | |
} | |
], | |
"src": "5572:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5687:28:1", | |
"nodeType": "YulBlock", | |
"src": "5687:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5697:12:1", | |
"nodeType": "YulAssignment", | |
"src": "5697:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "5704:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5704:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5697:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5697:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "identity", | |
"nativeSrc": "5655:60:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5673:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5673:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5683:3:1", | |
"nodeType": "YulTypedName", | |
"src": "5683:3:1", | |
"type": "" | |
} | |
], | |
"src": "5655:60:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5781:82:1", | |
"nodeType": "YulBlock", | |
"src": "5781:82:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5791:66:1", | |
"nodeType": "YulAssignment", | |
"src": "5791:66:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5849:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5849:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "5831:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "5831:17:1" | |
}, | |
"nativeSrc": "5831:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5831:24:1" | |
} | |
], | |
"functionName": { | |
"name": "identity", | |
"nativeSrc": "5822:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5822:8:1" | |
}, | |
"nativeSrc": "5822:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5822:34:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "5804:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "5804:17:1" | |
}, | |
"nativeSrc": "5804:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5804:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "5791:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5791:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "5721:142:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5761:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5761:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "5771:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5771:9:1", | |
"type": "" | |
} | |
], | |
"src": "5721:142:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5916:28:1", | |
"nodeType": "YulBlock", | |
"src": "5916:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5926:12:1", | |
"nodeType": "YulAssignment", | |
"src": "5926:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "5933:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5933:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5926:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5926:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "5869:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5902:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5902:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5912:3:1", | |
"nodeType": "YulTypedName", | |
"src": "5912:3:1", | |
"type": "" | |
} | |
], | |
"src": "5869:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6026:193:1", | |
"nodeType": "YulBlock", | |
"src": "6026:193:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6036:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6036:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value_0", | |
"nativeSrc": "6091:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6091:7:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "6060:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "6060:30:1" | |
}, | |
"nativeSrc": "6060:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6060:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "6040:16:1", | |
"nodeType": "YulTypedName", | |
"src": "6040:16:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6115:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6115:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6155:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6155:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "6149:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6149:5:1" | |
}, | |
"nativeSrc": "6149:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6149:11:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6162:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6162:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "6194:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "6194:16:1" | |
} | |
], | |
"functionName": { | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "6170:23:1", | |
"nodeType": "YulIdentifier", | |
"src": "6170:23:1" | |
}, | |
"nativeSrc": "6170:41:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6170:41:1" | |
} | |
], | |
"functionName": { | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "6121:27:1", | |
"nodeType": "YulIdentifier", | |
"src": "6121:27:1" | |
}, | |
"nativeSrc": "6121:91:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6121:91:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "6108:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6108:6:1" | |
}, | |
"nativeSrc": "6108:105:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6108:105:1" | |
}, | |
"nativeSrc": "6108:105:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6108:105:1" | |
} | |
] | |
}, | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "5950:269:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6003:4:1", | |
"nodeType": "YulTypedName", | |
"src": "6003:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6009:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6009:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value_0", | |
"nativeSrc": "6017:7:1", | |
"nodeType": "YulTypedName", | |
"src": "6017:7:1", | |
"type": "" | |
} | |
], | |
"src": "5950:269:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6274:24:1", | |
"nodeType": "YulBlock", | |
"src": "6274:24:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6284:8:1", | |
"nodeType": "YulAssignment", | |
"src": "6284:8:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "6291:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6291:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "6284:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6284:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "6225:73:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "6270:3:1", | |
"nodeType": "YulTypedName", | |
"src": "6270:3:1", | |
"type": "" | |
} | |
], | |
"src": "6225:73:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6357:136:1", | |
"nodeType": "YulBlock", | |
"src": "6357:136:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6367:46:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6367:46:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "6381:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "6381:30:1" | |
}, | |
"nativeSrc": "6381:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6381:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "zero_0", | |
"nativeSrc": "6371:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6371:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6466:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6466:4:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6472:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6472:6:1" | |
}, | |
{ | |
"name": "zero_0", | |
"nativeSrc": "6480:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6480:6:1" | |
} | |
], | |
"functionName": { | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "6422:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "6422:43:1" | |
}, | |
"nativeSrc": "6422:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6422:65:1" | |
}, | |
"nativeSrc": "6422:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6422:65:1" | |
} | |
] | |
}, | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "6304:189:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6343:4:1", | |
"nodeType": "YulTypedName", | |
"src": "6343:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6349:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6349:6:1", | |
"type": "" | |
} | |
], | |
"src": "6304:189:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6549:136:1", | |
"nodeType": "YulBlock", | |
"src": "6549:136:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "6616:63:1", | |
"nodeType": "YulBlock", | |
"src": "6616:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6660:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6660:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6667:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6667:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "6630:29:1", | |
"nodeType": "YulIdentifier", | |
"src": "6630:29:1" | |
}, | |
"nativeSrc": "6630:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6630:39:1" | |
}, | |
"nativeSrc": "6630:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6630:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6569:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6569:5:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "6576:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6576:3:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "6566:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6566:2:1" | |
}, | |
"nativeSrc": "6566:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6566:14:1" | |
}, | |
"nativeSrc": "6559:120:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "6581:26:1", | |
"nodeType": "YulBlock", | |
"src": "6581:26:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6583:22:1", | |
"nodeType": "YulAssignment", | |
"src": "6583:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6596:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6596:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6603:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6603:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "6592:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6592:3:1" | |
}, | |
"nativeSrc": "6592:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6592:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6583:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6583:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "6563:2:1", | |
"nodeType": "YulBlock", | |
"src": "6563:2:1", | |
"statements": [] | |
}, | |
"src": "6559:120:1" | |
} | |
] | |
}, | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "6499:186:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6537:5:1", | |
"nodeType": "YulTypedName", | |
"src": "6537:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "6544:3:1", | |
"nodeType": "YulTypedName", | |
"src": "6544:3:1", | |
"type": "" | |
} | |
], | |
"src": "6499:186:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6770:464:1", | |
"nodeType": "YulBlock", | |
"src": "6770:464:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "6796:431:1", | |
"nodeType": "YulBlock", | |
"src": "6796:431:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6810:54:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6810:54:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "6858:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6858:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "6826:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "6826:31:1" | |
}, | |
"nativeSrc": "6826:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6826:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "6814:8:1", | |
"nodeType": "YulTypedName", | |
"src": "6814:8:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6877:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6877:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "6900:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "6900:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "6928:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "6928:10:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "6910:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6910:17:1" | |
}, | |
"nativeSrc": "6910:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6910:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "6896:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6896:3:1" | |
}, | |
"nativeSrc": "6896:44:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6896:44:1" | |
}, | |
"variables": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "6881:11:1", | |
"nodeType": "YulTypedName", | |
"src": "6881:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7097:27:1", | |
"nodeType": "YulBlock", | |
"src": "7097:27:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7099:23:1", | |
"nodeType": "YulAssignment", | |
"src": "7099:23:1", | |
"value": { | |
"name": "dataArea", | |
"nativeSrc": "7114:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7114:8:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "7099:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "7099:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "7081:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "7081:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7093:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7093:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "7078:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7078:2:1" | |
}, | |
"nativeSrc": "7078:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7078:18:1" | |
}, | |
"nativeSrc": "7075:49:1", | |
"nodeType": "YulIf", | |
"src": "7075:49:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "7166:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "7166:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "7183:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7183:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "7211:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7211:3:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "7193:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "7193:17:1" | |
}, | |
"nativeSrc": "7193:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7193:22:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "7179:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7179:3:1" | |
}, | |
"nativeSrc": "7179:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7179:37:1" | |
} | |
], | |
"functionName": { | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "7137:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "7137:28:1" | |
}, | |
"nativeSrc": "7137:80:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7137:80:1" | |
}, | |
"nativeSrc": "7137:80:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "7137:80:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "6787:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6787:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6792:2:1", | |
"nodeType": "YulLiteral", | |
"src": "6792:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "6784:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6784:2:1" | |
}, | |
"nativeSrc": "6784:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6784:11:1" | |
}, | |
"nativeSrc": "6781:446:1", | |
"nodeType": "YulIf", | |
"src": "6781:446:1" | |
} | |
] | |
}, | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "6691:543:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "array", | |
"nativeSrc": "6746:5:1", | |
"nodeType": "YulTypedName", | |
"src": "6746:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "6753:3:1", | |
"nodeType": "YulTypedName", | |
"src": "6753:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "startIndex", | |
"nativeSrc": "6758:10:1", | |
"nodeType": "YulTypedName", | |
"src": "6758:10:1", | |
"type": "" | |
} | |
], | |
"src": "6691:543:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7303:54:1", | |
"nodeType": "YulBlock", | |
"src": "7303:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7313:37:1", | |
"nodeType": "YulAssignment", | |
"src": "7313:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7338:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7338:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7344:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7344:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shr", | |
"nativeSrc": "7334:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7334:3:1" | |
}, | |
"nativeSrc": "7334:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7334:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7313:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7313:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "7240:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7278:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7278:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7284:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7284:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7294:8:1", | |
"nodeType": "YulTypedName", | |
"src": "7294:8:1", | |
"type": "" | |
} | |
], | |
"src": "7240:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7414:118:1", | |
"nodeType": "YulBlock", | |
"src": "7414:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7424:68:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7424:68:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7473:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7473:1:1", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "7476:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7476:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "7469:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7469:3:1" | |
}, | |
"nativeSrc": "7469:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7469:13:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7488:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7488:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "7484:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7484:3:1" | |
}, | |
"nativeSrc": "7484:6:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7484:6:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "7440:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "7440:28:1" | |
}, | |
"nativeSrc": "7440:51:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7440:51:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "7436:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7436:3:1" | |
}, | |
"nativeSrc": "7436:56:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7436:56:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "7428:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7428:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7501:25:1", | |
"nodeType": "YulAssignment", | |
"src": "7501:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7515:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7515:4:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "7521:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7521:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7511:3:1" | |
}, | |
"nativeSrc": "7511:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7511:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7501:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7501:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "7363:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7391:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7391:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "7397:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7397:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7407:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7407:6:1", | |
"type": "" | |
} | |
], | |
"src": "7363:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7618:214:1", | |
"nodeType": "YulBlock", | |
"src": "7618:214:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7751:37:1", | |
"nodeType": "YulAssignment", | |
"src": "7751:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7778:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7778:4:1" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "7784:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7784:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "7759:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7759:18:1" | |
}, | |
"nativeSrc": "7759:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7759:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7751:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7751:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7797:29:1", | |
"nodeType": "YulAssignment", | |
"src": "7797:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7808:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7808:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7818:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7818:1:1", | |
"type": "", | |
"value": "2" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "7821:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7821:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "7814:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7814:3:1" | |
}, | |
"nativeSrc": "7814:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7814:11:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "7805:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7805:2:1" | |
}, | |
"nativeSrc": "7805:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7805:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "used", | |
"nativeSrc": "7797:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7797:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "7537:295:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7599:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7599:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "7605:3:1", | |
"nodeType": "YulTypedName", | |
"src": "7605:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "used", | |
"nativeSrc": "7613:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7613:4:1", | |
"type": "" | |
} | |
], | |
"src": "7537:295:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7929:1303:1", | |
"nodeType": "YulBlock", | |
"src": "7929:1303:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7940:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7940:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "7987:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7987:3:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "7954:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "7954:32:1" | |
}, | |
"nativeSrc": "7954:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7954:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "7944:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7944:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8076:22:1", | |
"nodeType": "YulBlock", | |
"src": "8076:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "8078:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "8078:16:1" | |
}, | |
"nativeSrc": "8078:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8078:18:1" | |
}, | |
"nativeSrc": "8078:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8078:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8048:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8048:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8056:18:1", | |
"nodeType": "YulLiteral", | |
"src": "8056:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "8045:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8045:2:1" | |
}, | |
"nativeSrc": "8045:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8045:30:1" | |
}, | |
"nativeSrc": "8042:56:1", | |
"nodeType": "YulIf", | |
"src": "8042:56:1" | |
}, | |
{ | |
"nativeSrc": "8108:52:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8108:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8154:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8154:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "8148:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8148:5:1" | |
}, | |
"nativeSrc": "8148:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8148:11:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_byte_array_length", | |
"nativeSrc": "8122:25:1", | |
"nodeType": "YulIdentifier", | |
"src": "8122:25:1" | |
}, | |
"nativeSrc": "8122:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8122:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "oldLen", | |
"nativeSrc": "8112:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8112:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8253:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8253:4:1" | |
}, | |
{ | |
"name": "oldLen", | |
"nativeSrc": "8259:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8259:6:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "8267:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8267:6:1" | |
} | |
], | |
"functionName": { | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "8207:45:1", | |
"nodeType": "YulIdentifier", | |
"src": "8207:45:1" | |
}, | |
"nativeSrc": "8207:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8207:67:1" | |
}, | |
"nativeSrc": "8207:67:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8207:67:1" | |
}, | |
{ | |
"nativeSrc": "8284:18:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8284:18:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8301:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8301:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8288:9:1", | |
"nodeType": "YulTypedName", | |
"src": "8288:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8312:17:1", | |
"nodeType": "YulAssignment", | |
"src": "8312:17:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8325:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8325:4:1", | |
"type": "", | |
"value": "0x20" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8312:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8312:9:1" | |
} | |
] | |
}, | |
{ | |
"cases": [ | |
{ | |
"body": { | |
"nativeSrc": "8376:611:1", | |
"nodeType": "YulBlock", | |
"src": "8376:611:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8390:37:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8390:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8409:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8409:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "8421:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8421:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "8417:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8417:3:1" | |
}, | |
"nativeSrc": "8417:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8417:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "8405:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8405:3:1" | |
}, | |
"nativeSrc": "8405:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8405:22:1" | |
}, | |
"variables": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "8394:7:1", | |
"nodeType": "YulTypedName", | |
"src": "8394:7:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8441:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8441:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8487:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8487:4:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "8455:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "8455:31:1" | |
}, | |
"nativeSrc": "8455:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8455:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8445:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8445:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8505:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8505:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8514:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8514:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8509:1:1", | |
"nodeType": "YulTypedName", | |
"src": "8509:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8573:163:1", | |
"nodeType": "YulBlock", | |
"src": "8573:163:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8598:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8598:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "8616:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8616:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8621:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8621:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8612:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8612:3:1" | |
}, | |
"nativeSrc": "8612:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8612:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "8606:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8606:5:1" | |
}, | |
"nativeSrc": "8606:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8606:26:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8591:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8591:6:1" | |
}, | |
"nativeSrc": "8591:42:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8591:42:1" | |
}, | |
"nativeSrc": "8591:42:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8591:42:1" | |
}, | |
{ | |
"nativeSrc": "8650:24:1", | |
"nodeType": "YulAssignment", | |
"src": "8650:24:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8664:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8664:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8672:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8672:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8660:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8660:3:1" | |
}, | |
"nativeSrc": "8660:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8660:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8650:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8650:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8691:31:1", | |
"nodeType": "YulAssignment", | |
"src": "8691:31:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8708:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8708:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8719:2:1", | |
"nodeType": "YulLiteral", | |
"src": "8719:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8704:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8704:3:1" | |
}, | |
"nativeSrc": "8704:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8704:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8691:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8691:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8539:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "8539:1:1" | |
}, | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "8542:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "8542:7:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "8536:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8536:2:1" | |
}, | |
"nativeSrc": "8536:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8536:14:1" | |
}, | |
"nativeSrc": "8528:208:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "8551:21:1", | |
"nodeType": "YulBlock", | |
"src": "8551:21:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8553:17:1", | |
"nodeType": "YulAssignment", | |
"src": "8553:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8562:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "8562:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8565:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8565:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8558:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8558:3:1" | |
}, | |
"nativeSrc": "8558:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8558:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8553:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "8553:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "8532:3:1", | |
"nodeType": "YulBlock", | |
"src": "8532:3:1", | |
"statements": [] | |
}, | |
"src": "8528:208:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8772:156:1", | |
"nodeType": "YulBlock", | |
"src": "8772:156:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8790:43:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8790:43:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "8817:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8817:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8822:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8822:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8813:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8813:3:1" | |
}, | |
"nativeSrc": "8813:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8813:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "8807:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8807:5:1" | |
}, | |
"nativeSrc": "8807:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8807:26:1" | |
}, | |
"variables": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "8794:9:1", | |
"nodeType": "YulTypedName", | |
"src": "8794:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8857:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8857:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "8884:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8884:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8899:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8899:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8907:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8907:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "8895:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8895:3:1" | |
}, | |
"nativeSrc": "8895:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8895:17:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "8865:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "8865:18:1" | |
}, | |
"nativeSrc": "8865:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8865:48:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8850:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8850:6:1" | |
}, | |
"nativeSrc": "8850:64:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8850:64:1" | |
}, | |
"nativeSrc": "8850:64:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8850:64:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "8755:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "8755:7:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "8764:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8764:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "8752:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8752:2:1" | |
}, | |
"nativeSrc": "8752:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8752:19:1" | |
}, | |
"nativeSrc": "8749:179:1", | |
"nodeType": "YulIf", | |
"src": "8749:179:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8948:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8948:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8962:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8962:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8970:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8970:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "8958:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8958:3:1" | |
}, | |
"nativeSrc": "8958:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8958:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8974:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8974:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8954:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8954:3:1" | |
}, | |
"nativeSrc": "8954:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8954:22:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8941:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8941:6:1" | |
}, | |
"nativeSrc": "8941:36:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8941:36:1" | |
}, | |
"nativeSrc": "8941:36:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8941:36:1" | |
} | |
] | |
}, | |
"nativeSrc": "8369:618:1", | |
"nodeType": "YulCase", | |
"src": "8369:618:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8374:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8374:1:1", | |
"type": "", | |
"value": "1" | |
} | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9004:222:1", | |
"nodeType": "YulBlock", | |
"src": "9004:222:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9018:14:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9018:14:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "9031:1:1", | |
"nodeType": "YulLiteral", | |
"src": "9031:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "9022:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9022:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9055:67:1", | |
"nodeType": "YulBlock", | |
"src": "9055:67:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9073:35:1", | |
"nodeType": "YulAssignment", | |
"src": "9073:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "9092:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9092:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "9097:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "9097:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "9088:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9088:3:1" | |
}, | |
"nativeSrc": "9088:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9088:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "9082:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9082:5:1" | |
}, | |
"nativeSrc": "9082:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9082:26:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "9073:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9073:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"name": "newLen", | |
"nativeSrc": "9048:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9048:6:1" | |
}, | |
"nativeSrc": "9045:77:1", | |
"nodeType": "YulIf", | |
"src": "9045:77:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "9142:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9142:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "9201:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9201:5:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "9208:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9208:6:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "9148:52:1", | |
"nodeType": "YulIdentifier", | |
"src": "9148:52:1" | |
}, | |
"nativeSrc": "9148:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9148:67:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "9135:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9135:6:1" | |
}, | |
"nativeSrc": "9135:81:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9135:81:1" | |
}, | |
"nativeSrc": "9135:81:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "9135:81:1" | |
} | |
] | |
}, | |
"nativeSrc": "8996:230:1", | |
"nodeType": "YulCase", | |
"src": "8996:230:1", | |
"value": "default" | |
} | |
], | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8349:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8349:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8357:2:1", | |
"nodeType": "YulLiteral", | |
"src": "8357:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "8346:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8346:2:1" | |
}, | |
"nativeSrc": "8346:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8346:14:1" | |
}, | |
"nativeSrc": "8339:887:1", | |
"nodeType": "YulSwitch", | |
"src": "8339:887:1" | |
} | |
] | |
}, | |
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
"nativeSrc": "7837:1395:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "7918:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7918:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "7924:3:1", | |
"nodeType": "YulTypedName", | |
"src": "7924:3:1", | |
"type": "" | |
} | |
], | |
"src": "7837:1395: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 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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\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 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" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c80635a9b0b8914610038578063937f6e7714610056575b5f80fd5b610040610072565b60405161004d919061019d565b60405180910390f35b610070600480360381019061006b91906102fa565b610101565b005b60605f80546100809061036e565b80601f01602080910402602001604051908101604052809291908181526020018280546100ac9061036e565b80156100f75780601f106100ce576101008083540402835291602001916100f7565b820191905f5260205f20905b8154815290600101906020018083116100da57829003601f168201915b5050505050905090565b805f908161010f9190610544565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561014a57808201518184015260208101905061012f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016f82610113565b610179818561011d565b935061018981856020860161012d565b61019281610155565b840191505092915050565b5f6020820190508181035f8301526101b58184610165565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61020c82610155565b810181811067ffffffffffffffff8211171561022b5761022a6101d6565b5b80604052505050565b5f61023d6101bd565b90506102498282610203565b919050565b5f67ffffffffffffffff821115610268576102676101d6565b5b61027182610155565b9050602081019050919050565b828183375f83830152505050565b5f61029e6102998461024e565b610234565b9050828152602081018484840111156102ba576102b96101d2565b5b6102c584828561027e565b509392505050565b5f82601f8301126102e1576102e06101ce565b5b81356102f184826020860161028c565b91505092915050565b5f6020828403121561030f5761030e6101c6565b5b5f82013567ffffffffffffffff81111561032c5761032b6101ca565b5b610338848285016102cd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038557607f821691505b60208210810361039857610397610341565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103bf565b61040486836103bf565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61044861044361043e8461041c565b610425565b61041c565b9050919050565b5f819050919050565b6104618361042e565b61047561046d8261044f565b8484546103cb565b825550505050565b5f90565b61048961047d565b610494818484610458565b505050565b5b818110156104b7576104ac5f82610481565b60018101905061049a565b5050565b601f8211156104fc576104cd8161039e565b6104d6846103b0565b810160208510156104e5578190505b6104f96104f1856103b0565b830182610499565b50505b505050565b5f82821c905092915050565b5f61051c5f1984600802610501565b1980831691505092915050565b5f610534838361050d565b9150826002028217905092915050565b61054d82610113565b67ffffffffffffffff811115610566576105656101d6565b5b610570825461036e565b61057b8282856104bb565b5f60209050601f8311600181146105ac575f841561059a578287015190505b6105a48582610529565b86555061060b565b601f1984166105ba8661039e565b5f5b828110156105e1578489015182556001820191506020850194506020810190506105bc565b868310156105fe57848901516105fa601f89168261050d565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220078c3867812dc64df10608c88f97efe811b780b85ce6df4f286e1d285e6a79da64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5A9B0B89 EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0x937F6E77 EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x2FA JUMP JUMPDEST PUSH2 0x101 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH0 DUP1 SLOAD PUSH2 0x80 SWAP1 PUSH2 0x36E 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 0xAC SWAP1 PUSH2 0x36E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xCE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x544 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x12F JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x16F DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x179 DUP2 DUP6 PUSH2 0x11D JUMP JUMPDEST SWAP4 POP PUSH2 0x189 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x12D JUMP JUMPDEST PUSH2 0x192 DUP2 PUSH2 0x155 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1B5 DUP2 DUP5 PUSH2 0x165 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x20C DUP3 PUSH2 0x155 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x22B JUMPI PUSH2 0x22A PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x23D PUSH2 0x1BD JUMP JUMPDEST SWAP1 POP PUSH2 0x249 DUP3 DUP3 PUSH2 0x203 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x268 JUMPI PUSH2 0x267 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x271 DUP3 PUSH2 0x155 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x29E PUSH2 0x299 DUP5 PUSH2 0x24E JUMP JUMPDEST PUSH2 0x234 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0x1D2 JUMP JUMPDEST JUMPDEST PUSH2 0x2C5 DUP5 DUP3 DUP6 PUSH2 0x27E JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E1 JUMPI PUSH2 0x2E0 PUSH2 0x1CE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2F1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x1C6 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x32C JUMPI PUSH2 0x32B PUSH2 0x1CA JUMP JUMPDEST JUMPDEST PUSH2 0x338 DUP5 DUP3 DUP6 ADD PUSH2 0x2CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x385 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x398 JUMPI PUSH2 0x397 PUSH2 0x341 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x3FA PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x3BF JUMP JUMPDEST PUSH2 0x404 DUP7 DUP4 PUSH2 0x3BF 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x448 PUSH2 0x443 PUSH2 0x43E DUP5 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x425 JUMP JUMPDEST PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x461 DUP4 PUSH2 0x42E JUMP JUMPDEST PUSH2 0x475 PUSH2 0x46D DUP3 PUSH2 0x44F JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x3CB JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x489 PUSH2 0x47D JUMP JUMPDEST PUSH2 0x494 DUP2 DUP5 DUP5 PUSH2 0x458 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B7 JUMPI PUSH2 0x4AC PUSH0 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x49A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4CD DUP2 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x4D6 DUP5 PUSH2 0x3B0 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x4E5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x4F9 PUSH2 0x4F1 DUP6 PUSH2 0x3B0 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x499 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x51C PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x501 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x534 DUP4 DUP4 PUSH2 0x50D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x54D DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x566 JUMPI PUSH2 0x565 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x570 DUP3 SLOAD PUSH2 0x36E JUMP JUMPDEST PUSH2 0x57B DUP3 DUP3 DUP6 PUSH2 0x4BB JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5AC JUMPI PUSH0 DUP5 ISZERO PUSH2 0x59A JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x5A4 DUP6 DUP3 PUSH2 0x529 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x60B JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x5BA DUP7 PUSH2 0x39E JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5E1 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 PUSH2 0x5BC JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x5FE JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x5FA PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x50D 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD DUP13 CODESIZE PUSH8 0x812DC64DF10608C8 DUP16 SWAP8 0xEF 0xE8 GT 0xB7 DUP1 0xB8 0x5C 0xE6 0xDF 0x4F 0x28 PUSH15 0x1D285E6A79DA64736F6C6343000816 STOP CALLER ", | |
"sourceMap": "58:239:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;204:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;114:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;204:91;246:13;278:10;271:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;204:91;:::o;114:84::-;185:6;172:10;:19;;;;;;:::i;:::-;;114:84;:::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:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:117;1785:1;1782;1775:12;1799:117;1908:1;1905;1898:12;1922:180;1970:77;1967:1;1960:88;2067:4;2064:1;2057:15;2091:4;2088:1;2081:15;2108:281;2191:27;2213:4;2191:27;:::i;:::-;2183:6;2179:40;2321:6;2309:10;2306:22;2285:18;2273:10;2270:34;2267:62;2264:88;;;2332:18;;:::i;:::-;2264:88;2372:10;2368:2;2361:22;2151:238;2108:281;;:::o;2395:129::-;2429:6;2456:20;;:::i;:::-;2446:30;;2485:33;2513:4;2505:6;2485:33;:::i;:::-;2395:129;;;:::o;2530:308::-;2592:4;2682:18;2674:6;2671:30;2668:56;;;2704:18;;:::i;:::-;2668:56;2742:29;2764:6;2742:29;:::i;:::-;2734:37;;2826:4;2820;2816:15;2808:23;;2530:308;;;:::o;2844:146::-;2941:6;2936:3;2931;2918:30;2982:1;2973:6;2968:3;2964:16;2957:27;2844:146;;;:::o;2996:425::-;3074:5;3099:66;3115:49;3157:6;3115:49;:::i;:::-;3099:66;:::i;:::-;3090:75;;3188:6;3181:5;3174:21;3226:4;3219:5;3215:16;3264:3;3255:6;3250:3;3246:16;3243:25;3240:112;;;3271:79;;:::i;:::-;3240:112;3361:54;3408:6;3403:3;3398;3361:54;:::i;:::-;3080:341;2996:425;;;;;:::o;3441:340::-;3497:5;3546:3;3539:4;3531:6;3527:17;3523:27;3513:122;;3554:79;;:::i;:::-;3513:122;3671:6;3658:20;3696:79;3771:3;3763:6;3756:4;3748:6;3744:17;3696:79;:::i;:::-;3687:88;;3503:278;3441:340;;;;:::o;3787:509::-;3856:6;3905:2;3893:9;3884:7;3880:23;3876:32;3873:119;;;3911:79;;:::i;:::-;3873:119;4059:1;4048:9;4044:17;4031:31;4089:18;4081:6;4078:30;4075:117;;;4111:79;;:::i;:::-;4075:117;4216:63;4271:7;4262:6;4251:9;4247:22;4216:63;:::i;:::-;4206:73;;4002:287;3787:509;;;;:::o;4302:180::-;4350:77;4347:1;4340:88;4447:4;4444:1;4437:15;4471:4;4468:1;4461:15;4488:320;4532:6;4569:1;4563:4;4559:12;4549:22;;4616:1;4610:4;4606:12;4637:18;4627:81;;4693:4;4685:6;4681:17;4671:27;;4627:81;4755:2;4747:6;4744:14;4724:18;4721:38;4718:84;;4774:18;;:::i;:::-;4718:84;4539:269;4488:320;;;:::o;4814:141::-;4863:4;4886:3;4878:11;;4909:3;4906:1;4899:14;4943:4;4940:1;4930:18;4922:26;;4814:141;;;:::o;4961:93::-;4998:6;5045:2;5040;5033:5;5029:14;5025:23;5015:33;;4961:93;;;:::o;5060:107::-;5104:8;5154:5;5148:4;5144:16;5123:37;;5060:107;;;;:::o;5173:393::-;5242:6;5292:1;5280:10;5276:18;5315:97;5345:66;5334:9;5315:97;:::i;:::-;5433:39;5463:8;5452:9;5433:39;:::i;:::-;5421:51;;5505:4;5501:9;5494:5;5490:21;5481:30;;5554:4;5544:8;5540:19;5533:5;5530:30;5520:40;;5249:317;;5173:393;;;;;:::o;5572:77::-;5609:7;5638:5;5627:16;;5572:77;;;:::o;5655:60::-;5683:3;5704:5;5697:12;;5655:60;;;:::o;5721:142::-;5771:9;5804:53;5822:34;5831:24;5849:5;5831:24;:::i;:::-;5822:34;:::i;:::-;5804:53;:::i;:::-;5791:66;;5721:142;;;:::o;5869:75::-;5912:3;5933:5;5926:12;;5869:75;;;:::o;5950:269::-;6060:39;6091:7;6060:39;:::i;:::-;6121:91;6170:41;6194:16;6170:41;:::i;:::-;6162:6;6155:4;6149:11;6121:91;:::i;:::-;6115:4;6108:105;6026:193;5950:269;;;:::o;6225:73::-;6270:3;6225:73;:::o;6304:189::-;6381:32;;:::i;:::-;6422:65;6480:6;6472;6466:4;6422:65;:::i;:::-;6357:136;6304:189;;:::o;6499:186::-;6559:120;6576:3;6569:5;6566:14;6559:120;;;6630:39;6667:1;6660:5;6630:39;:::i;:::-;6603:1;6596:5;6592:13;6583:22;;6559:120;;;6499:186;;:::o;6691:543::-;6792:2;6787:3;6784:11;6781:446;;;6826:38;6858:5;6826:38;:::i;:::-;6910:29;6928:10;6910:29;:::i;:::-;6900:8;6896:44;7093:2;7081:10;7078:18;7075:49;;;7114:8;7099:23;;7075:49;7137:80;7193:22;7211:3;7193:22;:::i;:::-;7183:8;7179:37;7166:11;7137:80;:::i;:::-;6796:431;;6781:446;6691:543;;;:::o;7240:117::-;7294:8;7344:5;7338:4;7334:16;7313:37;;7240:117;;;;:::o;7363:169::-;7407:6;7440:51;7488:1;7484:6;7476:5;7473:1;7469:13;7440:51;:::i;:::-;7436:56;7521:4;7515;7511:15;7501:25;;7414:118;7363:169;;;;:::o;7537:295::-;7613:4;7759:29;7784:3;7778:4;7759:29;:::i;:::-;7751:37;;7821:3;7818:1;7814:11;7808:4;7805:21;7797:29;;7537:295;;;;:::o;7837:1395::-;7954:37;7987:3;7954:37;:::i;:::-;8056:18;8048:6;8045:30;8042:56;;;8078:18;;:::i;:::-;8042:56;8122:38;8154:4;8148:11;8122:38;:::i;:::-;8207:67;8267:6;8259;8253:4;8207:67;:::i;:::-;8301:1;8325:4;8312:17;;8357:2;8349:6;8346:14;8374:1;8369:618;;;;9031:1;9048:6;9045:77;;;9097:9;9092:3;9088:19;9082:26;9073:35;;9045:77;9148:67;9208:6;9201:5;9148:67;:::i;:::-;9142:4;9135:81;9004:222;8339:887;;8369:618;8421:4;8417:9;8409:6;8405:22;8455:37;8487:4;8455:37;:::i;:::-;8514:1;8528:208;8542:7;8539:1;8536:14;8528:208;;;8621:9;8616:3;8612:19;8606:26;8598:6;8591:42;8672:1;8664:6;8660:14;8650:24;;8719:2;8708:9;8704:18;8691:31;;8565:4;8562:1;8558:12;8553:17;;8528:208;;;8764:6;8755:7;8752:19;8749:179;;;8822:9;8817:3;8813:19;8807:26;8865:48;8907:4;8899:6;8895:17;8884:9;8865:48;:::i;:::-;8857:6;8850:64;8772:156;8749:179;8974:1;8970;8962:6;8958:14;8954:22;8948:4;8941:36;8376:611;;;8339:887;;7929:1303;;;7837:1395;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "321800", | |
"executionCost": "360", | |
"totalCost": "322160" | |
}, | |
"external": { | |
"getInfo()": "infinite", | |
"setInfo(string)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a2646970667358221220078c3867812dc64df10608c88f97efe811b780b85ce6df4f286e1d285e6a79da64736f6c63430008160033", | |
".code": [ | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "5A9B0B89" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "937F6E77" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 58, | |
"end": 297, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "6" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "7" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "tag", | |
"source": 0, | |
"value": "7" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "tag", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "tag", | |
"source": 0, | |
"value": "6" | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 246, | |
"end": 259, | |
"name": "PUSH", | |
"source": 0, | |
"value": "60" | |
}, | |
{ | |
"begin": 278, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "tag", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1F" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DIV", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "17" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1F" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "100" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DIV", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "17" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "KECCAK256", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "tag", | |
"source": 0, | |
"value": "19" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "GT", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "19" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1F" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "tag", | |
"source": 0, | |
"value": "17" | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 271, | |
"end": 288, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 204, | |
"end": 295, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 185, | |
"end": 191, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 182, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "22" | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "tag", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 191, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 114, | |
"end": 198, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"name": "tag", | |
"source": 1, | |
"value": "23" | |
}, | |
{ | |
"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": "24" | |
}, | |
{ | |
"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": "25" | |
}, | |
{ | |
"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": "26" | |
}, | |
{ | |
"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": "27" | |
}, | |
{ | |
"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": "23" | |
}, | |
{ | |
"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": "24" | |
}, | |
{ | |
"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": "25" | |
}, | |
{ | |
"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": "26" | |
}, | |
{ | |
"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": "8" | |
}, | |
{ | |
"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": "27" | |
}, | |
{ | |
"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": 1424, | |
"name": "tag", | |
"source": 1, | |
"value": "28" | |
}, | |
{ | |
"begin": 1349, | |
"end": 1424, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1382, | |
"end": 1388, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1415, | |
"end": 1417, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 1409, | |
"end": 1418, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1399, | |
"end": 1418, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1399, | |
"end": 1418, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1349, | |
"end": 1424, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1349, | |
"end": 1424, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1430, | |
"end": 1547, | |
"name": "tag", | |
"source": 1, | |
"value": "29" | |
}, | |
{ | |
"begin": 1430, | |
"end": 1547, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1539, | |
"end": 1540, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1536, | |
"end": 1537, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1529, | |
"end": 1541, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1553, | |
"end": 1670, | |
"name": "tag", | |
"source": 1, | |
"value": "30" | |
}, | |
{ | |
"begin": 1553, | |
"end": 1670, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1662, | |
"end": 1663, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1659, | |
"end": 1660, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1652, | |
"end": 1664, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1676, | |
"end": 1793, | |
"name": "tag", | |
"source": 1, | |
"value": "31" | |
}, | |
{ | |
"begin": 1676, | |
"end": 1793, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1785, | |
"end": 1786, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1782, | |
"end": 1783, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1775, | |
"end": 1787, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1916, | |
"name": "tag", | |
"source": 1, | |
"value": "32" | |
}, | |
{ | |
"begin": 1799, | |
"end": 1916, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1908, | |
"end": 1909, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1905, | |
"end": 1906, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1898, | |
"end": 1910, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1922, | |
"end": 2102, | |
"name": "tag", | |
"source": 1, | |
"value": "33" | |
}, | |
{ | |
"begin": 1922, | |
"end": 2102, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1970, | |
"end": 2047, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 1967, | |
"end": 1968, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1960, | |
"end": 2048, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 2067, | |
"end": 2071, | |
"name": "PUSH", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 2064, | |
"end": 2065, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 2057, | |
"end": 2072, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 2091, | |
"end": 2095, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 2088, | |
"end": 2089, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2081, | |
"end": 2096, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2389, | |
"name": "tag", | |
"source": 1, | |
"value": "34" | |
}, | |
{ | |
"begin": 2108, | |
"end": 2389, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2191, | |
"end": 2218, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "79" | |
}, | |
{ | |
"begin": 2213, | |
"end": 2217, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2191, | |
"end": 2218, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "26" | |
}, | |
{ | |
"begin": 2191, | |
"end": 2218, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2191, | |
"end": 2218, | |
"name": "tag", | |
"source": 1, | |
"value": "79" | |
}, | |
{ | |
"begin": 2191, | |
"end": 2218, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2183, | |
"end": 2189, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2179, | |
"end": 2219, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 2321, | |
"end": 2327, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2309, | |
"end": 2319, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2306, | |
"end": 2328, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 2285, | |
"end": 2303, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 2273, | |
"end": 2283, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2270, | |
"end": 2304, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 2267, | |
"end": 2329, | |
"name": "OR", | |
"source": 1 | |
}, | |
{ | |
"begin": 2264, | |
"end": 2352, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 2264, | |
"end": 2352, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 2264, | |
"end": 2352, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 2332, | |
"end": 2350, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "81" | |
}, | |
{ | |
"begin": 2332, | |
"end": 2350, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "33" | |
}, | |
{ | |
"begin": 2332, | |
"end": 2350, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2332, | |
"end": 2350, | |
"name": "tag", | |
"source": 1, | |
"value": "81" | |
}, | |
{ | |
"begin": 2332, | |
"end": 2350, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2264, | |
"end": 2352, | |
"name": "tag", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 2264, | |
"end": 2352, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2372, | |
"end": 2382, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2368, | |
"end": 2370, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 2361, | |
"end": 2383, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 2151, | |
"end": 2389, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2389, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2389, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2389, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2395, | |
"end": 2524, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 2395, | |
"end": 2524, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2429, | |
"end": 2435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2456, | |
"end": 2476, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "83" | |
}, | |
{ | |
"begin": 2456, | |
"end": 2476, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "28" | |
}, | |
{ | |
"begin": 2456, | |
"end": 2476, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2456, | |
"end": 2476, | |
"name": "tag", | |
"source": 1, | |
"value": "83" | |
}, | |
{ | |
"begin": 2456, | |
"end": 2476, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2446, | |
"end": 2476, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2446, | |
"end": 2476, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2485, | |
"end": 2518, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "84" | |
}, | |
{ | |
"begin": 2513, | |
"end": 2517, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2505, | |
"end": 2511, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2485, | |
"end": 2518, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "34" | |
}, | |
{ | |
"begin": 2485, | |
"end": 2518, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2485, | |
"end": 2518, | |
"name": "tag", | |
"source": 1, | |
"value": "84" | |
}, | |
{ | |
"begin": 2485, | |
"end": 2518, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2395, | |
"end": 2524, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2395, | |
"end": 2524, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2395, | |
"end": 2524, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2395, | |
"end": 2524, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2530, | |
"end": 2838, | |
"name": "tag", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 2530, | |
"end": 2838, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2592, | |
"end": 2596, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2682, | |
"end": 2700, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 2674, | |
"end": 2680, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2671, | |
"end": 2701, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 2668, | |
"end": 2724, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 2668, | |
"end": 2724, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "86" | |
}, | |
{ | |
"begin": 2668, | |
"end": 2724, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 2704, | |
"end": 2722, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "87" | |
}, | |
{ | |
"begin": 2704, | |
"end": 2722, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "33" | |
}, | |
{ | |
"begin": 2704, | |
"end": 2722, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2704, | |
"end": 2722, | |
"name": "tag", | |
"source": 1, | |
"value": "87" | |
}, | |
{ | |
"begin": 2704, | |
"end": 2722, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2668, | |
"end": 2724, | |
"name": "tag", | |
"source": 1, | |
"value": "86" | |
}, | |
{ | |
"begin": 2668, | |
"end": 2724, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2742, | |
"end": 2771, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "88" | |
}, | |
{ | |
"begin": 2764, | |
"end": 2770, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2742, | |
"end": 2771, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "26" | |
}, | |
{ | |
"begin": 2742, | |
"end": 2771, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2742, | |
"end": 2771, | |
"name": "tag", | |
"source": 1, | |
"value": "88" | |
}, | |
{ | |
"begin": 2742, | |
"end": 2771, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2734, | |
"end": 2771, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2734, | |
"end": 2771, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2826, | |
"end": 2830, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 2820, | |
"end": 2824, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2816, | |
"end": 2831, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 2808, | |
"end": 2831, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2808, | |
"end": 2831, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2530, | |
"end": 2838, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2530, | |
"end": 2838, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2530, | |
"end": 2838, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2530, | |
"end": 2838, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2844, | |
"end": 2990, | |
"name": "tag", | |
"source": 1, | |
"value": "37" | |
}, | |
{ | |
"begin": 2844, | |
"end": 2990, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2941, | |
"end": 2947, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2936, | |
"end": 2939, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2931, | |
"end": 2934, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 2918, | |
"end": 2948, | |
"name": "CALLDATACOPY", | |
"source": 1 | |
}, | |
{ | |
"begin": 2982, | |
"end": 2983, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2973, | |
"end": 2979, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 2968, | |
"end": 2971, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 2964, | |
"end": 2980, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 2957, | |
"end": 2984, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 2844, | |
"end": 2990, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2844, | |
"end": 2990, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2844, | |
"end": 2990, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2844, | |
"end": 2990, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "tag", | |
"source": 1, | |
"value": "38" | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3074, | |
"end": 3079, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 3099, | |
"end": 3165, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "91" | |
}, | |
{ | |
"begin": 3115, | |
"end": 3164, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "92" | |
}, | |
{ | |
"begin": 3157, | |
"end": 3163, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3115, | |
"end": 3164, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 3115, | |
"end": 3164, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3115, | |
"end": 3164, | |
"name": "tag", | |
"source": 1, | |
"value": "92" | |
}, | |
{ | |
"begin": 3115, | |
"end": 3164, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3099, | |
"end": 3165, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 3099, | |
"end": 3165, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3099, | |
"end": 3165, | |
"name": "tag", | |
"source": 1, | |
"value": "91" | |
}, | |
{ | |
"begin": 3099, | |
"end": 3165, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3090, | |
"end": 3165, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 3090, | |
"end": 3165, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3188, | |
"end": 3194, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3181, | |
"end": 3186, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 3174, | |
"end": 3195, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 3226, | |
"end": 3230, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 3219, | |
"end": 3224, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 3215, | |
"end": 3231, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 3264, | |
"end": 3267, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3255, | |
"end": 3261, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3250, | |
"end": 3253, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3246, | |
"end": 3262, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 3243, | |
"end": 3268, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 3240, | |
"end": 3352, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 3240, | |
"end": 3352, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "93" | |
}, | |
{ | |
"begin": 3240, | |
"end": 3352, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 3271, | |
"end": 3350, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "94" | |
}, | |
{ | |
"begin": 3271, | |
"end": 3350, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "32" | |
}, | |
{ | |
"begin": 3271, | |
"end": 3350, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3271, | |
"end": 3350, | |
"name": "tag", | |
"source": 1, | |
"value": "94" | |
}, | |
{ | |
"begin": 3271, | |
"end": 3350, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3240, | |
"end": 3352, | |
"name": "tag", | |
"source": 1, | |
"value": "93" | |
}, | |
{ | |
"begin": 3240, | |
"end": 3352, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3361, | |
"end": 3415, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "95" | |
}, | |
{ | |
"begin": 3408, | |
"end": 3414, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3403, | |
"end": 3406, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3398, | |
"end": 3401, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 3361, | |
"end": 3415, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "37" | |
}, | |
{ | |
"begin": 3361, | |
"end": 3415, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3361, | |
"end": 3415, | |
"name": "tag", | |
"source": 1, | |
"value": "95" | |
}, | |
{ | |
"begin": 3361, | |
"end": 3415, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3080, | |
"end": 3421, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "SWAP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2996, | |
"end": 3421, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"name": "tag", | |
"source": 1, | |
"value": "39" | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3497, | |
"end": 3502, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 3546, | |
"end": 3549, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3539, | |
"end": 3543, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 3531, | |
"end": 3537, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 3527, | |
"end": 3544, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 3523, | |
"end": 3550, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 3513, | |
"end": 3635, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "97" | |
}, | |
{ | |
"begin": 3513, | |
"end": 3635, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 3554, | |
"end": 3633, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "98" | |
}, | |
{ | |
"begin": 3554, | |
"end": 3633, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "31" | |
}, | |
{ | |
"begin": 3554, | |
"end": 3633, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3554, | |
"end": 3633, | |
"name": "tag", | |
"source": 1, | |
"value": "98" | |
}, | |
{ | |
"begin": 3554, | |
"end": 3633, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3513, | |
"end": 3635, | |
"name": "tag", | |
"source": 1, | |
"value": "97" | |
}, | |
{ | |
"begin": 3513, | |
"end": 3635, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3671, | |
"end": 3677, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 3658, | |
"end": 3678, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 3696, | |
"end": 3775, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "99" | |
}, | |
{ | |
"begin": 3771, | |
"end": 3774, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3763, | |
"end": 3769, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3756, | |
"end": 3760, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 3748, | |
"end": 3754, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 3744, | |
"end": 3761, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 3696, | |
"end": 3775, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "38" | |
}, | |
{ | |
"begin": 3696, | |
"end": 3775, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3696, | |
"end": 3775, | |
"name": "tag", | |
"source": 1, | |
"value": "99" | |
}, | |
{ | |
"begin": 3696, | |
"end": 3775, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3687, | |
"end": 3775, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 3687, | |
"end": 3775, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3503, | |
"end": 3781, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3441, | |
"end": 3781, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"name": "tag", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3856, | |
"end": 3862, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 3905, | |
"end": 3907, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 3893, | |
"end": 3902, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3884, | |
"end": 3891, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 3880, | |
"end": 3903, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 3876, | |
"end": 3908, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 3873, | |
"end": 3992, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 3873, | |
"end": 3992, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "101" | |
}, | |
{ | |
"begin": 3873, | |
"end": 3992, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 3911, | |
"end": 3990, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "102" | |
}, | |
{ | |
"begin": 3911, | |
"end": 3990, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "29" | |
}, | |
{ | |
"begin": 3911, | |
"end": 3990, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3911, | |
"end": 3990, | |
"name": "tag", | |
"source": 1, | |
"value": "102" | |
}, | |
{ | |
"begin": 3911, | |
"end": 3990, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 3873, | |
"end": 3992, | |
"name": "tag", | |
"source": 1, | |
"value": "101" | |
}, | |
{ | |
"begin": 3873, | |
"end": 3992, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4059, | |
"end": 4060, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4048, | |
"end": 4057, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 4044, | |
"end": 4061, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 4031, | |
"end": 4062, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 4089, | |
"end": 4107, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 4081, | |
"end": 4087, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4078, | |
"end": 4108, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 4075, | |
"end": 4192, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 4075, | |
"end": 4192, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "103" | |
}, | |
{ | |
"begin": 4075, | |
"end": 4192, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 4111, | |
"end": 4190, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "104" | |
}, | |
{ | |
"begin": 4111, | |
"end": 4190, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "30" | |
}, | |
{ | |
"begin": 4111, | |
"end": 4190, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4111, | |
"end": 4190, | |
"name": "tag", | |
"source": 1, | |
"value": "104" | |
}, | |
{ | |
"begin": 4111, | |
"end": 4190, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4075, | |
"end": 4192, | |
"name": "tag", | |
"source": 1, | |
"value": "103" | |
}, | |
{ | |
"begin": 4075, | |
"end": 4192, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4216, | |
"end": 4279, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "105" | |
}, | |
{ | |
"begin": 4271, | |
"end": 4278, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 4262, | |
"end": 4268, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 4251, | |
"end": 4260, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 4247, | |
"end": 4269, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 4216, | |
"end": 4279, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "39" | |
}, | |
{ | |
"begin": 4216, | |
"end": 4279, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4216, | |
"end": 4279, | |
"name": "tag", | |
"source": 1, | |
"value": "105" | |
}, | |
{ | |
"begin": 4216, | |
"end": 4279, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4206, | |
"end": 4279, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4206, | |
"end": 4279, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4002, | |
"end": 4289, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 3787, | |
"end": 4296, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4302, | |
"end": 4482, | |
"name": "tag", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 4302, | |
"end": 4482, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4350, | |
"end": 4427, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 4347, | |
"end": 4348, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4340, | |
"end": 4428, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 4447, | |
"end": 4451, | |
"name": "PUSH", | |
"source": 1, | |
"value": "22" | |
}, | |
{ | |
"begin": 4444, | |
"end": 4445, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 4437, | |
"end": 4452, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 4471, | |
"end": 4475, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 4468, | |
"end": 4469, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4461, | |
"end": 4476, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 4488, | |
"end": 4808, | |
"name": "tag", | |
"source": 1, | |
"value": "15" | |
}, | |
{ | |
"begin": 4488, | |
"end": 4808, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4532, | |
"end": 4538, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4569, | |
"end": 4570, | |
"name": "PUSH", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 4563, | |
"end": 4567, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 4559, | |
"end": 4571, | |
"name": "DIV", | |
"source": 1 | |
}, | |
{ | |
"begin": 4549, | |
"end": 4571, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4549, | |
"end": 4571, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4616, | |
"end": 4617, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 4610, | |
"end": 4614, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 4606, | |
"end": 4618, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 4637, | |
"end": 4655, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4627, | |
"end": 4708, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "108" | |
}, | |
{ | |
"begin": 4627, | |
"end": 4708, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 4693, | |
"end": 4697, | |
"name": "PUSH", | |
"source": 1, | |
"value": "7F" | |
}, | |
{ | |
"begin": 4685, | |
"end": 4691, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 4681, | |
"end": 4698, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 4671, | |
"end": 4698, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4671, | |
"end": 4698, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4627, | |
"end": 4708, | |
"name": "tag", | |
"source": 1, | |
"value": "108" | |
}, | |
{ | |
"begin": 4627, | |
"end": 4708, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4755, | |
"end": 4757, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 4747, | |
"end": 4753, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 4744, | |
"end": 4758, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 4724, | |
"end": 4742, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4721, | |
"end": 4759, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 4718, | |
"end": 4802, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "109" | |
}, | |
{ | |
"begin": 4718, | |
"end": 4802, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 4774, | |
"end": 4792, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "110" | |
}, | |
{ | |
"begin": 4774, | |
"end": 4792, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 4774, | |
"end": 4792, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4774, | |
"end": 4792, | |
"name": "tag", | |
"source": 1, | |
"value": "110" | |
}, | |
{ | |
"begin": 4774, | |
"end": 4792, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4718, | |
"end": 4802, | |
"name": "tag", | |
"source": 1, | |
"value": "109" | |
}, | |
{ | |
"begin": 4718, | |
"end": 4802, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4539, | |
"end": 4808, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4488, | |
"end": 4808, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4488, | |
"end": 4808, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4488, | |
"end": 4808, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4488, | |
"end": 4808, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4814, | |
"end": 4955, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 4814, | |
"end": 4955, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4863, | |
"end": 4867, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4886, | |
"end": 4889, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4878, | |
"end": 4889, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4878, | |
"end": 4889, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4909, | |
"end": 4912, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4906, | |
"end": 4907, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4899, | |
"end": 4913, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 4943, | |
"end": 4947, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 4940, | |
"end": 4941, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 4930, | |
"end": 4948, | |
"name": "KECCAK256", | |
"source": 1 | |
}, | |
{ | |
"begin": 4922, | |
"end": 4948, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4922, | |
"end": 4948, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4814, | |
"end": 4955, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4814, | |
"end": 4955, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4814, | |
"end": 4955, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4814, | |
"end": 4955, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4961, | |
"end": 5054, | |
"name": "tag", | |
"source": 1, | |
"value": "42" | |
}, | |
{ | |
"begin": 4961, | |
"end": 5054, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 4998, | |
"end": 5004, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5045, | |
"end": 5047, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 5040, | |
"end": 5042, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 5033, | |
"end": 5038, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 5029, | |
"end": 5043, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 5025, | |
"end": 5048, | |
"name": "DIV", | |
"source": 1 | |
}, | |
{ | |
"begin": 5015, | |
"end": 5048, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5015, | |
"end": 5048, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4961, | |
"end": 5054, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 4961, | |
"end": 5054, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 4961, | |
"end": 5054, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 4961, | |
"end": 5054, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5104, | |
"end": 5112, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5154, | |
"end": 5159, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 5148, | |
"end": 5152, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 5144, | |
"end": 5160, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 5123, | |
"end": 5160, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5123, | |
"end": 5160, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5060, | |
"end": 5167, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "tag", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5242, | |
"end": 5248, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5292, | |
"end": 5293, | |
"name": "PUSH", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 5280, | |
"end": 5290, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 5276, | |
"end": 5294, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 5315, | |
"end": 5412, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "115" | |
}, | |
{ | |
"begin": 5345, | |
"end": 5411, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 5334, | |
"end": 5343, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 5315, | |
"end": 5412, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 5315, | |
"end": 5412, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5315, | |
"end": 5412, | |
"name": "tag", | |
"source": 1, | |
"value": "115" | |
}, | |
{ | |
"begin": 5315, | |
"end": 5412, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5433, | |
"end": 5472, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "116" | |
}, | |
{ | |
"begin": 5463, | |
"end": 5471, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 5452, | |
"end": 5461, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 5433, | |
"end": 5472, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 5433, | |
"end": 5472, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5433, | |
"end": 5472, | |
"name": "tag", | |
"source": 1, | |
"value": "116" | |
}, | |
{ | |
"begin": 5433, | |
"end": 5472, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5421, | |
"end": 5472, | |
"name": "SWAP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 5421, | |
"end": 5472, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5505, | |
"end": 5509, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5501, | |
"end": 5510, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 5494, | |
"end": 5499, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 5490, | |
"end": 5511, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 5481, | |
"end": 5511, | |
"name": "SWAP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 5481, | |
"end": 5511, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5554, | |
"end": 5558, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5544, | |
"end": 5552, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 5540, | |
"end": 5559, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 5533, | |
"end": 5538, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 5530, | |
"end": 5560, | |
"name": "OR", | |
"source": 1 | |
}, | |
{ | |
"begin": 5520, | |
"end": 5560, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 5520, | |
"end": 5560, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5249, | |
"end": 5566, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5249, | |
"end": 5566, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "SWAP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5173, | |
"end": 5566, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5572, | |
"end": 5649, | |
"name": "tag", | |
"source": 1, | |
"value": "45" | |
}, | |
{ | |
"begin": 5572, | |
"end": 5649, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5609, | |
"end": 5616, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5638, | |
"end": 5643, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5627, | |
"end": 5643, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5627, | |
"end": 5643, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5572, | |
"end": 5649, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5572, | |
"end": 5649, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5572, | |
"end": 5649, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5572, | |
"end": 5649, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5655, | |
"end": 5715, | |
"name": "tag", | |
"source": 1, | |
"value": "46" | |
}, | |
{ | |
"begin": 5655, | |
"end": 5715, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5683, | |
"end": 5686, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5704, | |
"end": 5709, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5697, | |
"end": 5709, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5697, | |
"end": 5709, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5655, | |
"end": 5715, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5655, | |
"end": 5715, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5655, | |
"end": 5715, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5655, | |
"end": 5715, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5721, | |
"end": 5863, | |
"name": "tag", | |
"source": 1, | |
"value": "47" | |
}, | |
{ | |
"begin": 5721, | |
"end": 5863, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5771, | |
"end": 5780, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5804, | |
"end": 5857, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "120" | |
}, | |
{ | |
"begin": 5822, | |
"end": 5856, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "121" | |
}, | |
{ | |
"begin": 5831, | |
"end": 5855, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "122" | |
}, | |
{ | |
"begin": 5849, | |
"end": 5854, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 5831, | |
"end": 5855, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "45" | |
}, | |
{ | |
"begin": 5831, | |
"end": 5855, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5831, | |
"end": 5855, | |
"name": "tag", | |
"source": 1, | |
"value": "122" | |
}, | |
{ | |
"begin": 5831, | |
"end": 5855, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5822, | |
"end": 5856, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "46" | |
}, | |
{ | |
"begin": 5822, | |
"end": 5856, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5822, | |
"end": 5856, | |
"name": "tag", | |
"source": 1, | |
"value": "121" | |
}, | |
{ | |
"begin": 5822, | |
"end": 5856, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5804, | |
"end": 5857, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "45" | |
}, | |
{ | |
"begin": 5804, | |
"end": 5857, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5804, | |
"end": 5857, | |
"name": "tag", | |
"source": 1, | |
"value": "120" | |
}, | |
{ | |
"begin": 5804, | |
"end": 5857, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5791, | |
"end": 5857, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5791, | |
"end": 5857, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5721, | |
"end": 5863, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5721, | |
"end": 5863, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5721, | |
"end": 5863, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5721, | |
"end": 5863, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5869, | |
"end": 5944, | |
"name": "tag", | |
"source": 1, | |
"value": "48" | |
}, | |
{ | |
"begin": 5869, | |
"end": 5944, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 5912, | |
"end": 5915, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 5933, | |
"end": 5938, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5926, | |
"end": 5938, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5926, | |
"end": 5938, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5869, | |
"end": 5944, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 5869, | |
"end": 5944, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 5869, | |
"end": 5944, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5869, | |
"end": 5944, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5950, | |
"end": 6219, | |
"name": "tag", | |
"source": 1, | |
"value": "49" | |
}, | |
{ | |
"begin": 5950, | |
"end": 6219, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6060, | |
"end": 6099, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "125" | |
}, | |
{ | |
"begin": 6091, | |
"end": 6098, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 6060, | |
"end": 6099, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "47" | |
}, | |
{ | |
"begin": 6060, | |
"end": 6099, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6060, | |
"end": 6099, | |
"name": "tag", | |
"source": 1, | |
"value": "125" | |
}, | |
{ | |
"begin": 6060, | |
"end": 6099, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6121, | |
"end": 6212, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "126" | |
}, | |
{ | |
"begin": 6170, | |
"end": 6211, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "127" | |
}, | |
{ | |
"begin": 6194, | |
"end": 6210, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 6170, | |
"end": 6211, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "48" | |
}, | |
{ | |
"begin": 6170, | |
"end": 6211, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6170, | |
"end": 6211, | |
"name": "tag", | |
"source": 1, | |
"value": "127" | |
}, | |
{ | |
"begin": 6170, | |
"end": 6211, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6162, | |
"end": 6168, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 6155, | |
"end": 6159, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 6149, | |
"end": 6160, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 6121, | |
"end": 6212, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 6121, | |
"end": 6212, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6121, | |
"end": 6212, | |
"name": "tag", | |
"source": 1, | |
"value": "126" | |
}, | |
{ | |
"begin": 6121, | |
"end": 6212, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6115, | |
"end": 6119, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 6108, | |
"end": 6213, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 6026, | |
"end": 6219, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5950, | |
"end": 6219, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5950, | |
"end": 6219, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5950, | |
"end": 6219, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 5950, | |
"end": 6219, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6225, | |
"end": 6298, | |
"name": "tag", | |
"source": 1, | |
"value": "50" | |
}, | |
{ | |
"begin": 6225, | |
"end": 6298, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6270, | |
"end": 6273, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 6225, | |
"end": 6298, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 6225, | |
"end": 6298, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6304, | |
"end": 6493, | |
"name": "tag", | |
"source": 1, | |
"value": "51" | |
}, | |
{ | |
"begin": 6304, | |
"end": 6493, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6381, | |
"end": 6413, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "130" | |
}, | |
{ | |
"begin": 6381, | |
"end": 6413, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "50" | |
}, | |
{ | |
"begin": 6381, | |
"end": 6413, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6381, | |
"end": 6413, | |
"name": "tag", | |
"source": 1, | |
"value": "130" | |
}, | |
{ | |
"begin": 6381, | |
"end": 6413, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6422, | |
"end": 6487, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "131" | |
}, | |
{ | |
"begin": 6480, | |
"end": 6486, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 6472, | |
"end": 6478, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 6466, | |
"end": 6470, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 6422, | |
"end": 6487, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "49" | |
}, | |
{ | |
"begin": 6422, | |
"end": 6487, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6422, | |
"end": 6487, | |
"name": "tag", | |
"source": 1, | |
"value": "131" | |
}, | |
{ | |
"begin": 6422, | |
"end": 6487, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6357, | |
"end": 6493, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6304, | |
"end": 6493, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6304, | |
"end": 6493, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6304, | |
"end": 6493, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6499, | |
"end": 6685, | |
"name": "tag", | |
"source": 1, | |
"value": "52" | |
}, | |
{ | |
"begin": 6499, | |
"end": 6685, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "tag", | |
"source": 1, | |
"value": "133" | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6576, | |
"end": 6579, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 6569, | |
"end": 6574, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 6566, | |
"end": 6580, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "135" | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 6630, | |
"end": 6669, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "136" | |
}, | |
{ | |
"begin": 6667, | |
"end": 6668, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 6660, | |
"end": 6665, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 6630, | |
"end": 6669, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "51" | |
}, | |
{ | |
"begin": 6630, | |
"end": 6669, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6630, | |
"end": 6669, | |
"name": "tag", | |
"source": 1, | |
"value": "136" | |
}, | |
{ | |
"begin": 6630, | |
"end": 6669, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6603, | |
"end": 6604, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 6596, | |
"end": 6601, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 6592, | |
"end": 6605, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 6583, | |
"end": 6605, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 6583, | |
"end": 6605, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "133" | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "tag", | |
"source": 1, | |
"value": "135" | |
}, | |
{ | |
"begin": 6559, | |
"end": 6679, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6499, | |
"end": 6685, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6499, | |
"end": 6685, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6499, | |
"end": 6685, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6691, | |
"end": 7234, | |
"name": "tag", | |
"source": 1, | |
"value": "53" | |
}, | |
{ | |
"begin": 6691, | |
"end": 7234, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6792, | |
"end": 6794, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 6787, | |
"end": 6790, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 6784, | |
"end": 6795, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 6781, | |
"end": 7227, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 6781, | |
"end": 7227, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "138" | |
}, | |
{ | |
"begin": 6781, | |
"end": 7227, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 6826, | |
"end": 6864, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "139" | |
}, | |
{ | |
"begin": 6858, | |
"end": 6863, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 6826, | |
"end": 6864, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 6826, | |
"end": 6864, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6826, | |
"end": 6864, | |
"name": "tag", | |
"source": 1, | |
"value": "139" | |
}, | |
{ | |
"begin": 6826, | |
"end": 6864, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6910, | |
"end": 6939, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "140" | |
}, | |
{ | |
"begin": 6928, | |
"end": 6938, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 6910, | |
"end": 6939, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "42" | |
}, | |
{ | |
"begin": 6910, | |
"end": 6939, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6910, | |
"end": 6939, | |
"name": "tag", | |
"source": 1, | |
"value": "140" | |
}, | |
{ | |
"begin": 6910, | |
"end": 6939, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6900, | |
"end": 6908, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 6896, | |
"end": 6940, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 7093, | |
"end": 7095, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 7081, | |
"end": 7091, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 7078, | |
"end": 7096, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 7075, | |
"end": 7124, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 7075, | |
"end": 7124, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "141" | |
}, | |
{ | |
"begin": 7075, | |
"end": 7124, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 7114, | |
"end": 7122, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7099, | |
"end": 7122, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 7099, | |
"end": 7122, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7075, | |
"end": 7124, | |
"name": "tag", | |
"source": 1, | |
"value": "141" | |
}, | |
{ | |
"begin": 7075, | |
"end": 7124, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7137, | |
"end": 7217, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "142" | |
}, | |
{ | |
"begin": 7193, | |
"end": 7215, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "143" | |
}, | |
{ | |
"begin": 7211, | |
"end": 7214, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 7193, | |
"end": 7215, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "42" | |
}, | |
{ | |
"begin": 7193, | |
"end": 7215, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7193, | |
"end": 7215, | |
"name": "tag", | |
"source": 1, | |
"value": "143" | |
}, | |
{ | |
"begin": 7193, | |
"end": 7215, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7183, | |
"end": 7191, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 7179, | |
"end": 7216, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 7166, | |
"end": 7177, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7137, | |
"end": 7217, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "52" | |
}, | |
{ | |
"begin": 7137, | |
"end": 7217, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7137, | |
"end": 7217, | |
"name": "tag", | |
"source": 1, | |
"value": "142" | |
}, | |
{ | |
"begin": 7137, | |
"end": 7217, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6796, | |
"end": 7227, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6796, | |
"end": 7227, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6781, | |
"end": 7227, | |
"name": "tag", | |
"source": 1, | |
"value": "138" | |
}, | |
{ | |
"begin": 6781, | |
"end": 7227, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 6691, | |
"end": 7234, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6691, | |
"end": 7234, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6691, | |
"end": 7234, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 6691, | |
"end": 7234, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"name": "tag", | |
"source": 1, | |
"value": "54" | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7294, | |
"end": 7302, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 7344, | |
"end": 7349, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7338, | |
"end": 7342, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7334, | |
"end": 7350, | |
"name": "SHR", | |
"source": 1 | |
}, | |
{ | |
"begin": 7313, | |
"end": 7350, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 7313, | |
"end": 7350, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7240, | |
"end": 7357, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"name": "tag", | |
"source": 1, | |
"value": "55" | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7407, | |
"end": 7413, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 7440, | |
"end": 7491, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "146" | |
}, | |
{ | |
"begin": 7488, | |
"end": 7489, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 7484, | |
"end": 7490, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 7476, | |
"end": 7481, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 7473, | |
"end": 7474, | |
"name": "PUSH", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 7469, | |
"end": 7482, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 7440, | |
"end": 7491, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "54" | |
}, | |
{ | |
"begin": 7440, | |
"end": 7491, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7440, | |
"end": 7491, | |
"name": "tag", | |
"source": 1, | |
"value": "146" | |
}, | |
{ | |
"begin": 7440, | |
"end": 7491, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7436, | |
"end": 7492, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 7521, | |
"end": 7525, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 7515, | |
"end": 7519, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 7511, | |
"end": 7526, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 7501, | |
"end": 7526, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7501, | |
"end": 7526, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7414, | |
"end": 7532, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7363, | |
"end": 7532, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"name": "tag", | |
"source": 1, | |
"value": "56" | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7613, | |
"end": 7617, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 7759, | |
"end": 7788, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "148" | |
}, | |
{ | |
"begin": 7784, | |
"end": 7787, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 7778, | |
"end": 7782, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 7759, | |
"end": 7788, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "55" | |
}, | |
{ | |
"begin": 7759, | |
"end": 7788, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7759, | |
"end": 7788, | |
"name": "tag", | |
"source": 1, | |
"value": "148" | |
}, | |
{ | |
"begin": 7759, | |
"end": 7788, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7751, | |
"end": 7788, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7751, | |
"end": 7788, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7821, | |
"end": 7824, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7818, | |
"end": 7819, | |
"name": "PUSH", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 7814, | |
"end": 7825, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 7808, | |
"end": 7812, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7805, | |
"end": 7826, | |
"name": "OR", | |
"source": 1 | |
}, | |
{ | |
"begin": 7797, | |
"end": 7826, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 7797, | |
"end": 7826, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7537, | |
"end": 7832, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7837, | |
"end": 9232, | |
"name": "tag", | |
"source": 1, | |
"value": "22" | |
}, | |
{ | |
"begin": 7837, | |
"end": 9232, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 7954, | |
"end": 7991, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "150" | |
}, | |
{ | |
"begin": 7987, | |
"end": 7990, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 7954, | |
"end": 7991, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "23" | |
}, | |
{ | |
"begin": 7954, | |
"end": 7991, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7954, | |
"end": 7991, | |
"name": "tag", | |
"source": 1, | |
"value": "150" | |
}, | |
{ | |
"begin": 7954, | |
"end": 7991, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8056, | |
"end": 8074, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 8048, | |
"end": 8054, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 8045, | |
"end": 8075, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 8042, | |
"end": 8098, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 8042, | |
"end": 8098, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "151" | |
}, | |
{ | |
"begin": 8042, | |
"end": 8098, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 8078, | |
"end": 8096, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "152" | |
}, | |
{ | |
"begin": 8078, | |
"end": 8096, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "33" | |
}, | |
{ | |
"begin": 8078, | |
"end": 8096, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8078, | |
"end": 8096, | |
"name": "tag", | |
"source": 1, | |
"value": "152" | |
}, | |
{ | |
"begin": 8078, | |
"end": 8096, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8042, | |
"end": 8098, | |
"name": "tag", | |
"source": 1, | |
"value": "151" | |
}, | |
{ | |
"begin": 8042, | |
"end": 8098, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8122, | |
"end": 8160, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "153" | |
}, | |
{ | |
"begin": 8154, | |
"end": 8158, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8148, | |
"end": 8159, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8122, | |
"end": 8160, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "15" | |
}, | |
{ | |
"begin": 8122, | |
"end": 8160, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8122, | |
"end": 8160, | |
"name": "tag", | |
"source": 1, | |
"value": "153" | |
}, | |
{ | |
"begin": 8122, | |
"end": 8160, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8207, | |
"end": 8274, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "154" | |
}, | |
{ | |
"begin": 8267, | |
"end": 8273, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8259, | |
"end": 8265, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8253, | |
"end": 8257, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 8207, | |
"end": 8274, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "53" | |
}, | |
{ | |
"begin": 8207, | |
"end": 8274, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8207, | |
"end": 8274, | |
"name": "tag", | |
"source": 1, | |
"value": "154" | |
}, | |
{ | |
"begin": 8207, | |
"end": 8274, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8301, | |
"end": 8302, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 8325, | |
"end": 8329, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 8312, | |
"end": 8329, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 8312, | |
"end": 8329, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8357, | |
"end": 8359, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 8349, | |
"end": 8355, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 8346, | |
"end": 8360, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 8374, | |
"end": 8375, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 8369, | |
"end": 8987, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 8369, | |
"end": 8987, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 8369, | |
"end": 8987, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "156" | |
}, | |
{ | |
"begin": 8369, | |
"end": 8987, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 9031, | |
"end": 9032, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 9048, | |
"end": 9054, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 9045, | |
"end": 9122, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 9045, | |
"end": 9122, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "157" | |
}, | |
{ | |
"begin": 9045, | |
"end": 9122, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 9097, | |
"end": 9106, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 9092, | |
"end": 9095, | |
"name": "DUP8", | |
"source": 1 | |
}, | |
{ | |
"begin": 9088, | |
"end": 9107, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 9082, | |
"end": 9108, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 9073, | |
"end": 9108, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 9073, | |
"end": 9108, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 9045, | |
"end": 9122, | |
"name": "tag", | |
"source": 1, | |
"value": "157" | |
}, | |
{ | |
"begin": 9045, | |
"end": 9122, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 9148, | |
"end": 9215, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "158" | |
}, | |
{ | |
"begin": 9208, | |
"end": 9214, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 9201, | |
"end": 9206, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 9148, | |
"end": 9215, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "56" | |
}, | |
{ | |
"begin": 9148, | |
"end": 9215, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 9148, | |
"end": 9215, | |
"name": "tag", | |
"source": 1, | |
"value": "158" | |
}, | |
{ | |
"begin": 9148, | |
"end": 9215, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 9142, | |
"end": 9146, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 9135, | |
"end": 9216, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 9004, | |
"end": 9226, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8339, | |
"end": 9226, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "155" | |
}, | |
{ | |
"begin": 8339, | |
"end": 9226, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8369, | |
"end": 8987, | |
"name": "tag", | |
"source": 1, | |
"value": "156" | |
}, | |
{ | |
"begin": 8369, | |
"end": 8987, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8421, | |
"end": 8425, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 8417, | |
"end": 8426, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 8409, | |
"end": 8415, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 8405, | |
"end": 8427, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 8455, | |
"end": 8492, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "159" | |
}, | |
{ | |
"begin": 8487, | |
"end": 8491, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 8455, | |
"end": 8492, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 8455, | |
"end": 8492, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8455, | |
"end": 8492, | |
"name": "tag", | |
"source": 1, | |
"value": "159" | |
}, | |
{ | |
"begin": 8455, | |
"end": 8492, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8514, | |
"end": 8515, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "tag", | |
"source": 1, | |
"value": "160" | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8542, | |
"end": 8549, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8539, | |
"end": 8540, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 8536, | |
"end": 8550, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "162" | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 8621, | |
"end": 8630, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 8616, | |
"end": 8619, | |
"name": "DUP10", | |
"source": 1 | |
}, | |
{ | |
"begin": 8612, | |
"end": 8631, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8606, | |
"end": 8632, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8598, | |
"end": 8604, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8591, | |
"end": 8633, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 8672, | |
"end": 8673, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 8664, | |
"end": 8670, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8660, | |
"end": 8674, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8650, | |
"end": 8674, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 8650, | |
"end": 8674, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8719, | |
"end": 8721, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 8708, | |
"end": 8717, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 8704, | |
"end": 8722, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8691, | |
"end": 8722, | |
"name": "SWAP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 8691, | |
"end": 8722, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8565, | |
"end": 8569, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 8562, | |
"end": 8563, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 8558, | |
"end": 8570, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8553, | |
"end": 8570, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 8553, | |
"end": 8570, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "160" | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "tag", | |
"source": 1, | |
"value": "162" | |
}, | |
{ | |
"begin": 8528, | |
"end": 8736, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8764, | |
"end": 8770, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 8755, | |
"end": 8762, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 8752, | |
"end": 8771, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 8749, | |
"end": 8928, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 8749, | |
"end": 8928, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "163" | |
}, | |
{ | |
"begin": 8749, | |
"end": 8928, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 8822, | |
"end": 8831, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 8817, | |
"end": 8820, | |
"name": "DUP10", | |
"source": 1 | |
}, | |
{ | |
"begin": 8813, | |
"end": 8832, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8807, | |
"end": 8833, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8865, | |
"end": 8913, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "164" | |
}, | |
{ | |
"begin": 8907, | |
"end": 8911, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 8899, | |
"end": 8905, | |
"name": "DUP10", | |
"source": 1 | |
}, | |
{ | |
"begin": 8895, | |
"end": 8912, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 8884, | |
"end": 8893, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 8865, | |
"end": 8913, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "55" | |
}, | |
{ | |
"begin": 8865, | |
"end": 8913, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8865, | |
"end": 8913, | |
"name": "tag", | |
"source": 1, | |
"value": "164" | |
}, | |
{ | |
"begin": 8865, | |
"end": 8913, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8857, | |
"end": 8863, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 8850, | |
"end": 8914, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 8772, | |
"end": 8928, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8749, | |
"end": 8928, | |
"name": "tag", | |
"source": 1, | |
"value": "163" | |
}, | |
{ | |
"begin": 8749, | |
"end": 8928, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8974, | |
"end": 8975, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 8970, | |
"end": 8971, | |
"name": "PUSH", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 8962, | |
"end": 8968, | |
"name": "DUP9", | |
"source": 1 | |
}, | |
{ | |
"begin": 8958, | |
"end": 8972, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 8954, | |
"end": 8976, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 8948, | |
"end": 8952, | |
"name": "DUP9", | |
"source": 1 | |
}, | |
{ | |
"begin": 8941, | |
"end": 8977, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 8376, | |
"end": 8987, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8376, | |
"end": 8987, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8376, | |
"end": 8987, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 8339, | |
"end": 9226, | |
"name": "tag", | |
"source": 1, | |
"value": "155" | |
}, | |
{ | |
"begin": 8339, | |
"end": 9226, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 8339, | |
"end": 9226, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7929, | |
"end": 9232, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7929, | |
"end": 9232, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7929, | |
"end": 9232, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7837, | |
"end": 9232, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7837, | |
"end": 9232, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7837, | |
"end": 9232, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"contracts/Register.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"getInfo()": "5a9b0b89", | |
"setInfo(string)": "937f6e77" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"myInfo\",\"type\":\"string\"}],\"name\":\"setInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Register.sol\":\"Register\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Register.sol\":{\"keccak256\":\"0x4aecb2f2447c0af52d4644286011b37119f751dc3547c70ef2223100d6df44c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88fa4d8e6568a770b42795f4d5b646335395687e3e1e9ce90ab95c85c0c0fe6\",\"dweb:/ipfs/QmT2wu6janA2S9x4DCeWdu9BpvqRR2XQDQhp2vRSP6db8k\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 3, | |
"contract": "contracts/Register.sol:Register", | |
"label": "storedInfo", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_string_storage" | |
} | |
], | |
"types": { | |
"t_string_storage": { | |
"encoding": "bytes", | |
"label": "string", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"contracts/Register.sol": { | |
"ast": { | |
"absolutePath": "contracts/Register.sol", | |
"exportedSymbols": { | |
"Register": [ | |
22 | |
] | |
}, | |
"id": 23, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"0.8", | |
".22" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "32:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "Register", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 22, | |
"linearizedBaseContracts": [ | |
22 | |
], | |
"name": "Register", | |
"nameLocation": "67:8:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"id": 3, | |
"mutability": "mutable", | |
"name": "storedInfo", | |
"nameLocation": "97:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 22, | |
"src": "82:25:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "82:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "private" | |
}, | |
{ | |
"body": { | |
"id": 12, | |
"nodeType": "Block", | |
"src": "162:36:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 8, | |
"name": "storedInfo", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "172:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage", | |
"typeString": "string storage ref" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 9, | |
"name": "myInfo", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "185:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string memory" | |
} | |
}, | |
"src": "172:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage", | |
"typeString": "string storage ref" | |
} | |
}, | |
"id": 11, | |
"nodeType": "ExpressionStatement", | |
"src": "172:19:0" | |
} | |
] | |
}, | |
"functionSelector": "937f6e77", | |
"id": 13, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "setInfo", | |
"nameLocation": "123:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 6, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 5, | |
"mutability": "mutable", | |
"name": "myInfo", | |
"nameLocation": "145:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 13, | |
"src": "131:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "131:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "130:22:0" | |
}, | |
"returnParameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "162:0:0" | |
}, | |
"scope": 22, | |
"src": "114:84:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"body": { | |
"id": 20, | |
"nodeType": "Block", | |
"src": "261:34:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 18, | |
"name": "storedInfo", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "278:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage", | |
"typeString": "string storage ref" | |
} | |
}, | |
"functionReturnParameters": 17, | |
"id": 19, | |
"nodeType": "Return", | |
"src": "271:17:0" | |
} | |
] | |
}, | |
"functionSelector": "5a9b0b89", | |
"id": 21, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getInfo", | |
"nameLocation": "213:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 14, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "220:2:0" | |
}, | |
"returnParameters": { | |
"id": 17, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 16, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 21, | |
"src": "246:13:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "246:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "245:15:0" | |
}, | |
"scope": 22, | |
"src": "204:91:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
} | |
], | |
"scope": 23, | |
"src": "58:239:0", | |
"usedErrors": [], | |
"usedEvents": [] | |
} | |
], | |
"src": "32:265: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": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b506106498061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80635a9b0b8914610038578063937f6e7714610056575b5f80fd5b610040610072565b60405161004d919061019d565b60405180910390f35b610070600480360381019061006b91906102fa565b610101565b005b60605f80546100809061036e565b80601f01602080910402602001604051908101604052809291908181526020018280546100ac9061036e565b80156100f75780601f106100ce576101008083540402835291602001916100f7565b820191905f5260205f20905b8154815290600101906020018083116100da57829003601f168201915b5050505050905090565b805f908161010f9190610544565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561014a57808201518184015260208101905061012f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016f82610113565b610179818561011d565b935061018981856020860161012d565b61019281610155565b840191505092915050565b5f6020820190508181035f8301526101b58184610165565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61020c82610155565b810181811067ffffffffffffffff8211171561022b5761022a6101d6565b5b80604052505050565b5f61023d6101bd565b90506102498282610203565b919050565b5f67ffffffffffffffff821115610268576102676101d6565b5b61027182610155565b9050602081019050919050565b828183375f83830152505050565b5f61029e6102998461024e565b610234565b9050828152602081018484840111156102ba576102b96101d2565b5b6102c584828561027e565b509392505050565b5f82601f8301126102e1576102e06101ce565b5b81356102f184826020860161028c565b91505092915050565b5f6020828403121561030f5761030e6101c6565b5b5f82013567ffffffffffffffff81111561032c5761032b6101ca565b5b610338848285016102cd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038557607f821691505b60208210810361039857610397610341565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103bf565b61040486836103bf565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61044861044361043e8461041c565b610425565b61041c565b9050919050565b5f819050919050565b6104618361042e565b61047561046d8261044f565b8484546103cb565b825550505050565b5f90565b61048961047d565b610494818484610458565b505050565b5b818110156104b7576104ac5f82610481565b60018101905061049a565b5050565b601f8211156104fc576104cd8161039e565b6104d6846103b0565b810160208510156104e5578190505b6104f96104f1856103b0565b830182610499565b50505b505050565b5f82821c905092915050565b5f61051c5f1984600802610501565b1980831691505092915050565b5f610534838361050d565b9150826002028217905092915050565b61054d82610113565b67ffffffffffffffff811115610566576105656101d6565b5b610570825461036e565b61057b8282856104bb565b5f60209050601f8311600181146105ac575f841561059a578287015190505b6105a48582610529565b86555061060b565b601f1984166105ba8661039e565b5f5b828110156105e1578489015182556001820191506020850194506020810190506105bc565b868310156105fe57848901516105fa601f89168261050d565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220078c3867812dc64df10608c88f97efe811b780b85ce6df4f286e1d285e6a79da64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x649 DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5A9B0B89 EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0x937F6E77 EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x2FA JUMP JUMPDEST PUSH2 0x101 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH0 DUP1 SLOAD PUSH2 0x80 SWAP1 PUSH2 0x36E 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 0xAC SWAP1 PUSH2 0x36E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xCE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x544 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x12F JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x16F DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x179 DUP2 DUP6 PUSH2 0x11D JUMP JUMPDEST SWAP4 POP PUSH2 0x189 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x12D JUMP JUMPDEST PUSH2 0x192 DUP2 PUSH2 0x155 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1B5 DUP2 DUP5 PUSH2 0x165 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x20C DUP3 PUSH2 0x155 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x22B JUMPI PUSH2 0x22A PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x23D PUSH2 0x1BD JUMP JUMPDEST SWAP1 POP PUSH2 0x249 DUP3 DUP3 PUSH2 0x203 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x268 JUMPI PUSH2 0x267 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x271 DUP3 PUSH2 0x155 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x29E PUSH2 0x299 DUP5 PUSH2 0x24E JUMP JUMPDEST PUSH2 0x234 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0x1D2 JUMP JUMPDEST JUMPDEST PUSH2 0x2C5 DUP5 DUP3 DUP6 PUSH2 0x27E JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E1 JUMPI PUSH2 0x2E0 PUSH2 0x1CE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2F1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x1C6 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x32C JUMPI PUSH2 0x32B PUSH2 0x1CA JUMP JUMPDEST JUMPDEST PUSH2 0x338 DUP5 DUP3 DUP6 ADD PUSH2 0x2CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x385 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x398 JUMPI PUSH2 0x397 PUSH2 0x341 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x3FA PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x3BF JUMP JUMPDEST PUSH2 0x404 DUP7 DUP4 PUSH2 0x3BF 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x448 PUSH2 0x443 PUSH2 0x43E DUP5 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x425 JUMP JUMPDEST PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x461 DUP4 PUSH2 0x42E JUMP JUMPDEST PUSH2 0x475 PUSH2 0x46D DUP3 PUSH2 0x44F JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x3CB JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x489 PUSH2 0x47D JUMP JUMPDEST PUSH2 0x494 DUP2 DUP5 DUP5 PUSH2 0x458 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B7 JUMPI PUSH2 0x4AC PUSH0 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x49A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4CD DUP2 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x4D6 DUP5 PUSH2 0x3B0 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x4E5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x4F9 PUSH2 0x4F1 DUP6 PUSH2 0x3B0 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x499 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x51C PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x501 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x534 DUP4 DUP4 PUSH2 0x50D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x54D DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x566 JUMPI PUSH2 0x565 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x570 DUP3 SLOAD PUSH2 0x36E JUMP JUMPDEST PUSH2 0x57B DUP3 DUP3 DUP6 PUSH2 0x4BB JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5AC JUMPI PUSH0 DUP5 ISZERO PUSH2 0x59A JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x5A4 DUP6 DUP3 PUSH2 0x529 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x60B JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x5BA DUP7 PUSH2 0x39E JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5E1 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 PUSH2 0x5BC JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x5FE JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x5FA PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x50D 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD DUP13 CODESIZE PUSH8 0x812DC64DF10608C8 DUP16 SWAP8 0xEF 0xE8 GT 0xB7 DUP1 0xB8 0x5C 0xE6 0xDF 0x4F 0x28 PUSH15 0x1D285E6A79DA64736F6C6343000816 STOP CALLER ", | |
"sourceMap": "58:239:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@getInfo_21": { | |
"entryPoint": 114, | |
"id": 21, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@setInfo_13": { | |
"entryPoint": 257, | |
"id": 13, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_string_memory_ptr": { | |
"entryPoint": 652, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_string_memory_ptr": { | |
"entryPoint": 717, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptr": { | |
"entryPoint": 762, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 357, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 413, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 564, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 445, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_string_memory_ptr": { | |
"entryPoint": 590, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_string_storage": { | |
"entryPoint": 926, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 275, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 285, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"clean_up_bytearray_end_slots_t_string_storage": { | |
"entryPoint": 1211, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 1052, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clear_storage_range_t_bytes1": { | |
"entryPoint": 1177, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"convert_t_uint256_to_t_uint256": { | |
"entryPoint": 1070, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
"entryPoint": 1348, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"copy_calldata_to_memory_with_cleanup": { | |
"entryPoint": 638, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 301, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"divide_by_32_ceil": { | |
"entryPoint": 944, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 878, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_used_part_and_set_length_of_short_byte_array": { | |
"entryPoint": 1321, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 515, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"identity": { | |
"entryPoint": 1061, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mask_bytes_dynamic": { | |
"entryPoint": 1293, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 833, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"prepare_store_t_uint256": { | |
"entryPoint": 1103, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 462, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 466, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 458, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 454, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 341, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"shift_left_dynamic": { | |
"entryPoint": 959, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"shift_right_unsigned_dynamic": { | |
"entryPoint": 1281, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"storage_set_to_zero_t_uint256": { | |
"entryPoint": 1153, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"update_byte_slice_dynamic32": { | |
"entryPoint": 971, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"update_storage_value_t_uint256_to_t_uint256": { | |
"entryPoint": 1112, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"zero_value_for_split_t_uint256": { | |
"entryPoint": 1149, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:9235:1", | |
"nodeType": "YulBlock", | |
"src": "0:9235:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "66:40:1", | |
"nodeType": "YulBlock", | |
"src": "66:40:1", | |
"statements": [ | |
{ | |
"nativeSrc": "77:22:1", | |
"nodeType": "YulAssignment", | |
"src": "77:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "93:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "93:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "87:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "87:5:1" | |
}, | |
"nativeSrc": "87:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "87:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "77:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "77:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "7:99:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "49:5:1", | |
"nodeType": "YulTypedName", | |
"src": "49:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "59:6:1", | |
"nodeType": "YulTypedName", | |
"src": "59:6:1", | |
"type": "" | |
} | |
], | |
"src": "7:99:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "208:73:1", | |
"nodeType": "YulBlock", | |
"src": "208:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "225:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "225:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "230:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "230:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "218:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "218:6:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "218:19:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "218:19:1" | |
}, | |
{ | |
"nativeSrc": "246:29:1", | |
"nodeType": "YulAssignment", | |
"src": "246:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "265:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "265:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "270:4:1", | |
"nodeType": "YulLiteral", | |
"src": "270:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "261:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:1" | |
}, | |
"nativeSrc": "261:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "261:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "246:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "246:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "112:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "180:3:1", | |
"nodeType": "YulTypedName", | |
"src": "180:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "185:6:1", | |
"nodeType": "YulTypedName", | |
"src": "185:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "196:11:1", | |
"nodeType": "YulTypedName", | |
"src": "196:11:1", | |
"type": "" | |
} | |
], | |
"src": "112:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "349:184:1", | |
"nodeType": "YulBlock", | |
"src": "349:184:1", | |
"statements": [ | |
{ | |
"nativeSrc": "359:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "359:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "368:1:1", | |
"nodeType": "YulLiteral", | |
"src": "368:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "363:1:1", | |
"nodeType": "YulTypedName", | |
"src": "363:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "428:63:1", | |
"nodeType": "YulBlock", | |
"src": "428:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "453:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "453:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "458:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "458:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "449:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "449:3:1" | |
}, | |
"nativeSrc": "449:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "449:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "472:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "472:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "477:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "477:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "468:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "468:3:1" | |
}, | |
"nativeSrc": "468:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "468:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "462:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "462:5:1" | |
}, | |
"nativeSrc": "462:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "462:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "442:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "442:39:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "442:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "389:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "389:1:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "392:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "392:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "386:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "386:2:1" | |
}, | |
"nativeSrc": "386:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "386:13:1" | |
}, | |
"nativeSrc": "378:113:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "400:19:1", | |
"nodeType": "YulBlock", | |
"src": "400:19:1", | |
"statements": [ | |
{ | |
"nativeSrc": "402:15:1", | |
"nodeType": "YulAssignment", | |
"src": "402:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "411:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "411:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "414:2:1", | |
"nodeType": "YulLiteral", | |
"src": "414:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "407:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "407:3:1" | |
}, | |
"nativeSrc": "407:10:1", | |
"nodeType": "YulFunctionCall", | |
"src": "407:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "402:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "402:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "382:3:1", | |
"nodeType": "YulBlock", | |
"src": "382:3:1", | |
"statements": [] | |
}, | |
"src": "378:113:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "511:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "516:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "507:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "507:3:1" | |
}, | |
"nativeSrc": "507:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "507:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "525:1:1", | |
"nodeType": "YulLiteral", | |
"src": "525:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "500:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "500:6:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "500:27:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "500:27:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "287:246:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "331:3:1", | |
"nodeType": "YulTypedName", | |
"src": "331:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "336:3:1", | |
"nodeType": "YulTypedName", | |
"src": "336:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "341:6:1", | |
"nodeType": "YulTypedName", | |
"src": "341:6:1", | |
"type": "" | |
} | |
], | |
"src": "287:246:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "587:54:1", | |
"nodeType": "YulBlock", | |
"src": "587:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "597:38:1", | |
"nodeType": "YulAssignment", | |
"src": "597:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "615:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "615:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "622:2:1", | |
"nodeType": "YulLiteral", | |
"src": "622:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "611:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "611:3:1" | |
}, | |
"nativeSrc": "611:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "611:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "631:2:1", | |
"nodeType": "YulLiteral", | |
"src": "631:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "627:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "627:3:1" | |
}, | |
"nativeSrc": "627:7:1", | |
"nodeType": "YulFunctionCall", | |
"src": "627:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "607:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "607:3:1" | |
}, | |
"nativeSrc": "607:28:1", | |
"nodeType": "YulFunctionCall", | |
"src": "607:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "597:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "597:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "539:102:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "570:5:1", | |
"nodeType": "YulTypedName", | |
"src": "570:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "580:6:1", | |
"nodeType": "YulTypedName", | |
"src": "580:6:1", | |
"type": "" | |
} | |
], | |
"src": "539:102:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "739:285:1", | |
"nodeType": "YulBlock", | |
"src": "739:285:1", | |
"statements": [ | |
{ | |
"nativeSrc": "749:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "749:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "796:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "796:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "763:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "763:32:1" | |
}, | |
"nativeSrc": "763:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "763:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "753:6:1", | |
"nodeType": "YulTypedName", | |
"src": "753:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "811:78:1", | |
"nodeType": "YulAssignment", | |
"src": "811:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "877:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "877:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "882:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "882:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "818:58:1", | |
"nodeType": "YulIdentifier", | |
"src": "818:58:1" | |
}, | |
"nativeSrc": "818:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "818:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "811:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "811:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "937:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "937:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "944:4:1", | |
"nodeType": "YulLiteral", | |
"src": "944:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "933:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "933:3:1" | |
}, | |
"nativeSrc": "933:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "933:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "951:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "951:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "956:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "956:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "898:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "898:34:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "898:65:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "898:65:1" | |
}, | |
{ | |
"nativeSrc": "972:46:1", | |
"nodeType": "YulAssignment", | |
"src": "972:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "983:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "983:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "1010:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1010:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "988:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "988:21:1" | |
}, | |
"nativeSrc": "988:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "988:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "979:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "979:3:1" | |
}, | |
"nativeSrc": "979:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "979:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "972:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "972:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "647:377:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "720:5:1", | |
"nodeType": "YulTypedName", | |
"src": "720:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "727:3:1", | |
"nodeType": "YulTypedName", | |
"src": "727:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "735:3:1", | |
"nodeType": "YulTypedName", | |
"src": "735:3:1", | |
"type": "" | |
} | |
], | |
"src": "647:377:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1148:195:1", | |
"nodeType": "YulBlock", | |
"src": "1148:195:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1158:26:1", | |
"nodeType": "YulAssignment", | |
"src": "1158:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1170:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1170:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1181:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1181:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1166:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1166:3:1" | |
}, | |
"nativeSrc": "1166:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1166:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1158:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1158:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1205:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1205:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1216:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1216:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1201:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1201:3:1" | |
}, | |
"nativeSrc": "1201:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1201:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1224:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1224:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "1230:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1230:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "1220:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1220:3:1" | |
}, | |
"nativeSrc": "1220:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1220:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1194:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1194:6:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1194:47:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1194:47:1" | |
}, | |
{ | |
"nativeSrc": "1250:86:1", | |
"nodeType": "YulAssignment", | |
"src": "1250:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "1322:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1322:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nativeSrc": "1331:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1331:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "1258:63:1", | |
"nodeType": "YulIdentifier", | |
"src": "1258:63:1" | |
}, | |
"nativeSrc": "1258:78:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1258:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1250:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1250:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
"nativeSrc": "1030:313:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1120:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1120:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "1132:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1132:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1143:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1143:4:1", | |
"type": "" | |
} | |
], | |
"src": "1030:313:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1389:35:1", | |
"nodeType": "YulBlock", | |
"src": "1389:35:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1399:19:1", | |
"nodeType": "YulAssignment", | |
"src": "1399:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1415:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1415:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "1409:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1409:5:1" | |
}, | |
"nativeSrc": "1409:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1409:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1399:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1399:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nativeSrc": "1349:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1382:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1382:6:1", | |
"type": "" | |
} | |
], | |
"src": "1349:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1519:28:1", | |
"nodeType": "YulBlock", | |
"src": "1519:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1536:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1536:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1539:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1539:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1529:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1529:6:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1529:12:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1529:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "1430:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1430:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1642:28:1", | |
"nodeType": "YulBlock", | |
"src": "1642:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1659:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1659:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1662:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1662:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1652:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1652:6:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1652:12:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1652:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "1553:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1553:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1765:28:1", | |
"nodeType": "YulBlock", | |
"src": "1765:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1782:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1782:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1785:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1785:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1775:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1775:6:1" | |
}, | |
"nativeSrc": "1775:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1775:12:1" | |
}, | |
"nativeSrc": "1775:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1775:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "1676:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1676:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1888:28:1", | |
"nodeType": "YulBlock", | |
"src": "1888:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1905:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1905:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1908:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1908:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1898:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1898:6:1" | |
}, | |
"nativeSrc": "1898:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1898:12:1" | |
}, | |
"nativeSrc": "1898:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1898:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "1799:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1799:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1950:152:1", | |
"nodeType": "YulBlock", | |
"src": "1950:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1967:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1967:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1970:77:1", | |
"nodeType": "YulLiteral", | |
"src": "1970:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1960:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1960:6:1" | |
}, | |
"nativeSrc": "1960:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1960:88:1" | |
}, | |
"nativeSrc": "1960:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1960:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2064:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2064:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2067:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2067:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2057:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2057:6:1" | |
}, | |
"nativeSrc": "2057:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2057:15:1" | |
}, | |
"nativeSrc": "2057:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2057:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2088:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2088:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2091:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2091:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "2081:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2081:6:1" | |
}, | |
"nativeSrc": "2081:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2081:15:1" | |
}, | |
"nativeSrc": "2081:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2081:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nativeSrc": "1922:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1922:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2151:238:1", | |
"nodeType": "YulBlock", | |
"src": "2151:238:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2161:58:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2161:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2183:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2183:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2213:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2213:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2191:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2191:21:1" | |
}, | |
"nativeSrc": "2191:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2191:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2179:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2179:3:1" | |
}, | |
"nativeSrc": "2179:40:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2179:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2165:10:1", | |
"nodeType": "YulTypedName", | |
"src": "2165:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2330:22:1", | |
"nodeType": "YulBlock", | |
"src": "2330:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2332:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2332:16:1" | |
}, | |
"nativeSrc": "2332:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2332:18:1" | |
}, | |
"nativeSrc": "2332:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2332:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2273:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2273:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2285:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2285:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2270:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2270:2:1" | |
}, | |
"nativeSrc": "2270:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2270:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2309:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2309:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2321:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2321:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "2306:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2306:2:1" | |
}, | |
"nativeSrc": "2306:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2306:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "2267:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2267:2:1" | |
}, | |
"nativeSrc": "2267:62:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2267:62:1" | |
}, | |
"nativeSrc": "2264:88:1", | |
"nodeType": "YulIf", | |
"src": "2264:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2368:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2368:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2372:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2372:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2361:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2361:6:1" | |
}, | |
"nativeSrc": "2361:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2361:22:1" | |
}, | |
"nativeSrc": "2361:22:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2361:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nativeSrc": "2108:281:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2137:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2137:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "2145:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2145:4:1", | |
"type": "" | |
} | |
], | |
"src": "2108:281:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2436:88:1", | |
"nodeType": "YulBlock", | |
"src": "2436:88:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2446:30:1", | |
"nodeType": "YulAssignment", | |
"src": "2446:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nativeSrc": "2456:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "2456:18:1" | |
}, | |
"nativeSrc": "2456:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2456:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2446:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2446:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2505:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2505:6:1" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "2513:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2513:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nativeSrc": "2485:19:1", | |
"nodeType": "YulIdentifier", | |
"src": "2485:19:1" | |
}, | |
"nativeSrc": "2485:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2485:33:1" | |
}, | |
"nativeSrc": "2485:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2485:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nativeSrc": "2395:129:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2420:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2420:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2429:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2429:6:1", | |
"type": "" | |
} | |
], | |
"src": "2395:129:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2597:241:1", | |
"nodeType": "YulBlock", | |
"src": "2597:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2702:22:1", | |
"nodeType": "YulBlock", | |
"src": "2702:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2704:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2704:16:1" | |
}, | |
"nativeSrc": "2704:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2704:18:1" | |
}, | |
"nativeSrc": "2704:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2704:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2674:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2674:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2682:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2682:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2671:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2671:2:1" | |
}, | |
"nativeSrc": "2671:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2671:30:1" | |
}, | |
"nativeSrc": "2668:56:1", | |
"nodeType": "YulIf", | |
"src": "2668:56:1" | |
}, | |
{ | |
"nativeSrc": "2734:37:1", | |
"nodeType": "YulAssignment", | |
"src": "2734:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2764:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2764:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2742:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2742:21:1" | |
}, | |
"nativeSrc": "2742:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2742:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2734:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2734:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2808:23:1", | |
"nodeType": "YulAssignment", | |
"src": "2808:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2820:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2820:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2826:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2826:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2816:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2816:3:1" | |
}, | |
"nativeSrc": "2816:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2816:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2808:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2808:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "2530:308:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2581:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2581:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2592:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2592:4:1", | |
"type": "" | |
} | |
], | |
"src": "2530:308:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2908:82:1", | |
"nodeType": "YulBlock", | |
"src": "2908:82:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2931:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2931:3:1" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "2936:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2936:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2941:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2941:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nativeSrc": "2918:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "2918:12:1" | |
}, | |
"nativeSrc": "2918:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2918:30:1" | |
}, | |
"nativeSrc": "2918:30:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2918:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2968:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2968:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2973:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2973:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2964:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2964:3:1" | |
}, | |
"nativeSrc": "2964:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2964:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2982:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2982:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2957:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2957:6:1" | |
}, | |
"nativeSrc": "2957:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2957:27:1" | |
}, | |
"nativeSrc": "2957:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2957:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "2844:146:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "2890:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2890:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "2895:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2895:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2900:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2900:6:1", | |
"type": "" | |
} | |
], | |
"src": "2844:146:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3080:341:1", | |
"nodeType": "YulBlock", | |
"src": "3080:341:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3090:75:1", | |
"nodeType": "YulAssignment", | |
"src": "3090:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "3157:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3157:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "3115:41:1", | |
"nodeType": "YulIdentifier", | |
"src": "3115:41:1" | |
}, | |
"nativeSrc": "3115:49:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3115:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nativeSrc": "3099:15:1", | |
"nodeType": "YulIdentifier", | |
"src": "3099:15:1" | |
}, | |
"nativeSrc": "3099:66:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3099:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3090:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3090:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3181:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3181:5:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3188:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3188:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "3174:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3174:6:1" | |
}, | |
"nativeSrc": "3174:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3174:21:1" | |
}, | |
"nativeSrc": "3174:21:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3174:21:1" | |
}, | |
{ | |
"nativeSrc": "3204:27:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3204:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3219:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3219:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3226:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3226:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3215:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3215:3:1" | |
}, | |
"nativeSrc": "3215:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3215:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "3208:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3208:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3269:83:1", | |
"nodeType": "YulBlock", | |
"src": "3269:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "3271:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3271:77:1" | |
}, | |
"nativeSrc": "3271:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3271:79:1" | |
}, | |
"nativeSrc": "3271:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3271:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3250:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3250:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3255:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3255:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3246:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3246:3:1" | |
}, | |
"nativeSrc": "3246:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3246:16:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3264:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3264:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "3243:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3243:2:1" | |
}, | |
"nativeSrc": "3243:25:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3243:25:1" | |
}, | |
"nativeSrc": "3240:112:1", | |
"nodeType": "YulIf", | |
"src": "3240:112:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3398:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3398:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "3403:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3403:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3408:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3408:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "3361:36:1", | |
"nodeType": "YulIdentifier", | |
"src": "3361:36:1" | |
}, | |
"nativeSrc": "3361:54:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3361:54:1" | |
}, | |
"nativeSrc": "3361:54:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3361:54:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "2996:425:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3053:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3053:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3058:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3058:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3066:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3066:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3074:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3074:5:1", | |
"type": "" | |
} | |
], | |
"src": "2996:425:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3503:278:1", | |
"nodeType": "YulBlock", | |
"src": "3503:278:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3552:83:1", | |
"nodeType": "YulBlock", | |
"src": "3552:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "3554:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3554:77:1" | |
}, | |
"nativeSrc": "3554:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3554:79:1" | |
}, | |
"nativeSrc": "3554:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3554:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3531:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3531:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3539:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3539:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3527:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3527:3:1" | |
}, | |
"nativeSrc": "3527:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3527:17:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3546:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3546:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3523:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3523:3:1" | |
}, | |
"nativeSrc": "3523:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3523:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "3516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3516:6:1" | |
}, | |
"nativeSrc": "3516:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3516:35:1" | |
}, | |
"nativeSrc": "3513:122:1", | |
"nodeType": "YulIf", | |
"src": "3513:122:1" | |
}, | |
{ | |
"nativeSrc": "3644:34:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3644:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3671:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3671:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "3658:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "3658:12:1" | |
}, | |
"nativeSrc": "3658:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3658:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "3648:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3648:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3687:88:1", | |
"nodeType": "YulAssignment", | |
"src": "3687:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3748:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3748:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3756:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3756:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3744:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3744:3:1" | |
}, | |
"nativeSrc": "3744:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3744:17:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3763:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3763:6:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3771:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3771:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "3696:47:1", | |
"nodeType": "YulIdentifier", | |
"src": "3696:47:1" | |
}, | |
"nativeSrc": "3696:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3696:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3687:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3687:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "3441:340:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3481:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3481:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3489:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3489:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3497:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3497:5:1", | |
"type": "" | |
} | |
], | |
"src": "3441:340:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3863:433:1", | |
"nodeType": "YulBlock", | |
"src": "3863:433:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3909:83:1", | |
"nodeType": "YulBlock", | |
"src": "3909:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "3911:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3911:77:1" | |
}, | |
"nativeSrc": "3911:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3911:79:1" | |
}, | |
"nativeSrc": "3911:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3911:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3884:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "3884:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "3893:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "3893:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "3880:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3880:3:1" | |
}, | |
"nativeSrc": "3880:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3880:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3905:2:1", | |
"nodeType": "YulLiteral", | |
"src": "3905:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3876:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3876:3:1" | |
}, | |
"nativeSrc": "3876:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3876:32:1" | |
}, | |
"nativeSrc": "3873:119:1", | |
"nodeType": "YulIf", | |
"src": "3873:119:1" | |
}, | |
{ | |
"nativeSrc": "4002:287:1", | |
"nodeType": "YulBlock", | |
"src": "4002:287:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4017:45:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4017:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4048:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4048:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4059:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4059:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4044:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4044:3:1" | |
}, | |
"nativeSrc": "4044:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4044:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "4031:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "4031:12:1" | |
}, | |
"nativeSrc": "4031:31:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4031:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "4021:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4021:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4109:83:1", | |
"nodeType": "YulBlock", | |
"src": "4109:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "4111:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "4111:77:1" | |
}, | |
"nativeSrc": "4111:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4111:79:1" | |
}, | |
"nativeSrc": "4111:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4111:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "4081:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4081:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4089:18:1", | |
"nodeType": "YulLiteral", | |
"src": "4089:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "4078:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4078:2:1" | |
}, | |
"nativeSrc": "4078:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4078:30:1" | |
}, | |
"nativeSrc": "4075:117:1", | |
"nodeType": "YulIf", | |
"src": "4075:117:1" | |
}, | |
{ | |
"nativeSrc": "4206:73:1", | |
"nodeType": "YulAssignment", | |
"src": "4206:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4251:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4251:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "4262:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4262:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4247:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4247:3:1" | |
}, | |
"nativeSrc": "4247:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4247:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "4271:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4271:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "4216:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "4216:30:1" | |
}, | |
"nativeSrc": "4216:63:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4216:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "4206:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4206:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptr", | |
"nativeSrc": "3787:509:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "3833:9:1", | |
"nodeType": "YulTypedName", | |
"src": "3833:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3844:7:1", | |
"nodeType": "YulTypedName", | |
"src": "3844:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "3856:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3856:6:1", | |
"type": "" | |
} | |
], | |
"src": "3787:509:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4330:152:1", | |
"nodeType": "YulBlock", | |
"src": "4330:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4347:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4347:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4350:77:1", | |
"nodeType": "YulLiteral", | |
"src": "4350:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4340:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4340:6:1" | |
}, | |
"nativeSrc": "4340:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4340:88:1" | |
}, | |
"nativeSrc": "4340:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4340:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4444:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4444:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4447:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4447:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4437:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4437:6:1" | |
}, | |
"nativeSrc": "4437:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4437:15:1" | |
}, | |
"nativeSrc": "4437:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4437:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4468:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4468:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4471:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4471:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "4461:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4461:6:1" | |
}, | |
"nativeSrc": "4461:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4461:15:1" | |
}, | |
"nativeSrc": "4461:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4461:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nativeSrc": "4302:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4302:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4539:269:1", | |
"nodeType": "YulBlock", | |
"src": "4539:269:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4549:22:1", | |
"nodeType": "YulAssignment", | |
"src": "4549:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4563:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4563:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4569:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4569:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "4559:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4559:3:1" | |
}, | |
"nativeSrc": "4559:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4559:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4549:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4549:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4580:38:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4580:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4610:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4610:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4616:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4616:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4606:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4606:3:1" | |
}, | |
"nativeSrc": "4606:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4606:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "4584:18:1", | |
"nodeType": "YulTypedName", | |
"src": "4584:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4657:51:1", | |
"nodeType": "YulBlock", | |
"src": "4657:51:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4671:27:1", | |
"nodeType": "YulAssignment", | |
"src": "4671:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4685:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4685:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4693:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4693:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4681:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4681:3:1" | |
}, | |
"nativeSrc": "4681:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4681:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4671:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4671:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "4637:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "4637:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "4630:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4630:6:1" | |
}, | |
"nativeSrc": "4630:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4630:26:1" | |
}, | |
"nativeSrc": "4627:81:1", | |
"nodeType": "YulIf", | |
"src": "4627:81:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4760:42:1", | |
"nodeType": "YulBlock", | |
"src": "4760:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nativeSrc": "4774:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "4774:16:1" | |
}, | |
"nativeSrc": "4774:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4774:18:1" | |
}, | |
"nativeSrc": "4774:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4774:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "4724:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "4724:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4747:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4747:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4755:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4755:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4744:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4744:2:1" | |
}, | |
"nativeSrc": "4744:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4744:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "4721:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4721:2:1" | |
}, | |
"nativeSrc": "4721:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4721:38:1" | |
}, | |
"nativeSrc": "4718:84:1", | |
"nodeType": "YulIf", | |
"src": "4718:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nativeSrc": "4488:320:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4523:4:1", | |
"nodeType": "YulTypedName", | |
"src": "4523:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4532:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4532:6:1", | |
"type": "" | |
} | |
], | |
"src": "4488:320:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4868:87:1", | |
"nodeType": "YulBlock", | |
"src": "4868:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4878:11:1", | |
"nodeType": "YulAssignment", | |
"src": "4878:11:1", | |
"value": { | |
"name": "ptr", | |
"nativeSrc": "4886:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4886:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4878:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4878:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4906:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4906:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "ptr", | |
"nativeSrc": "4909:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4909:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4899:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4899:6:1" | |
}, | |
"nativeSrc": "4899:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4899:14:1" | |
}, | |
"nativeSrc": "4899:14:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4899:14:1" | |
}, | |
{ | |
"nativeSrc": "4922:26:1", | |
"nodeType": "YulAssignment", | |
"src": "4922:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4940:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4940:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4943:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4943:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "keccak256", | |
"nativeSrc": "4930:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4930:9:1" | |
}, | |
"nativeSrc": "4930:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4930:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4922:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4922:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "4814:141:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nativeSrc": "4855:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4855:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nativeSrc": "4863:4:1", | |
"nodeType": "YulTypedName", | |
"src": "4863:4:1", | |
"type": "" | |
} | |
], | |
"src": "4814:141:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5005:49:1", | |
"nodeType": "YulBlock", | |
"src": "5005:49:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5015:33:1", | |
"nodeType": "YulAssignment", | |
"src": "5015:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5033:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5033:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5040:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5040:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5029:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5029:3:1" | |
}, | |
"nativeSrc": "5029:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5029:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5045:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5045:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "5025:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5025:3:1" | |
}, | |
"nativeSrc": "5025:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5025:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "5015:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5015:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "4961:93:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4988:5:1", | |
"nodeType": "YulTypedName", | |
"src": "4988:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "4998:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4998:6:1", | |
"type": "" | |
} | |
], | |
"src": "4961:93:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5113:54:1", | |
"nodeType": "YulBlock", | |
"src": "5113:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5123:37:1", | |
"nodeType": "YulAssignment", | |
"src": "5123:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "5148:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5148:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "5154:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5154:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nativeSrc": "5144:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5144:3:1" | |
}, | |
"nativeSrc": "5144:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5144:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "5123:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5123:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_dynamic", | |
"nativeSrc": "5060:107:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "5088:4:1", | |
"nodeType": "YulTypedName", | |
"src": "5088:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "5094:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5094:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "5104:8:1", | |
"nodeType": "YulTypedName", | |
"src": "5104:8:1", | |
"type": "" | |
} | |
], | |
"src": "5060:107:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5249:317:1", | |
"nodeType": "YulBlock", | |
"src": "5249:317:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5259:35:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5259:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "5280:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "5280:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5292:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5292:1:1", | |
"type": "", | |
"value": "8" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "5276:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5276:3:1" | |
}, | |
"nativeSrc": "5276:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5276:18:1" | |
}, | |
"variables": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "5263:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5263:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5303:109:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5303:109:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "5334:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5334:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5345:66:1", | |
"nodeType": "YulLiteral", | |
"src": "5345:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "5315:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "5315:18:1" | |
}, | |
"nativeSrc": "5315:97:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5315:97:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "5307:4:1", | |
"nodeType": "YulTypedName", | |
"src": "5307:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5421:51:1", | |
"nodeType": "YulAssignment", | |
"src": "5421:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "5452:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5452:9:1" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5463:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5463:8:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "5433:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "5433:18:1" | |
}, | |
"nativeSrc": "5433:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5433:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5421:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5421:8:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5481:30:1", | |
"nodeType": "YulAssignment", | |
"src": "5481:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5494:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5494:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "5505:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5505:4:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "5501:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5501:3:1" | |
}, | |
"nativeSrc": "5501:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5501:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "5490:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5490:3:1" | |
}, | |
"nativeSrc": "5490:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5490:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5481:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5481:5:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "5520:40:1", | |
"nodeType": "YulAssignment", | |
"src": "5520:40:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5533:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5533:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5544:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5544:8:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "5554:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5554:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "5540:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5540:3:1" | |
}, | |
"nativeSrc": "5540:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5540:19:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "5530:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "5530:2:1" | |
}, | |
"nativeSrc": "5530:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5530:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "5520:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5520:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "5173:393:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5210:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5210:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "5217:10:1", | |
"nodeType": "YulTypedName", | |
"src": "5217:10:1", | |
"type": "" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "5229:8:1", | |
"nodeType": "YulTypedName", | |
"src": "5229:8:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "5242:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5242:6:1", | |
"type": "" | |
} | |
], | |
"src": "5173:393:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5617:32:1", | |
"nodeType": "YulBlock", | |
"src": "5617:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5627:16:1", | |
"nodeType": "YulAssignment", | |
"src": "5627:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "5638:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5638:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "5627:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "5627:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "5572:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5599:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5599:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "5609:7:1", | |
"nodeType": "YulTypedName", | |
"src": "5609:7:1", | |
"type": "" | |
} | |
], | |
"src": "5572:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5687:28:1", | |
"nodeType": "YulBlock", | |
"src": "5687:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5697:12:1", | |
"nodeType": "YulAssignment", | |
"src": "5697:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "5704:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5704:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5697:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5697:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "identity", | |
"nativeSrc": "5655:60:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5673:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5673:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5683:3:1", | |
"nodeType": "YulTypedName", | |
"src": "5683:3:1", | |
"type": "" | |
} | |
], | |
"src": "5655:60:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5781:82:1", | |
"nodeType": "YulBlock", | |
"src": "5781:82:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5791:66:1", | |
"nodeType": "YulAssignment", | |
"src": "5791:66:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5849:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5849:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "5831:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "5831:17:1" | |
}, | |
"nativeSrc": "5831:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5831:24:1" | |
} | |
], | |
"functionName": { | |
"name": "identity", | |
"nativeSrc": "5822:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "5822:8:1" | |
}, | |
"nativeSrc": "5822:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5822:34:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "5804:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "5804:17:1" | |
}, | |
"nativeSrc": "5804:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5804:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "5791:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5791:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "5721:142:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5761:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5761:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "5771:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5771:9:1", | |
"type": "" | |
} | |
], | |
"src": "5721:142:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5916:28:1", | |
"nodeType": "YulBlock", | |
"src": "5916:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5926:12:1", | |
"nodeType": "YulAssignment", | |
"src": "5926:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "5933:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5933:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5926:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5926:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "5869:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5902:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5902:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "5912:3:1", | |
"nodeType": "YulTypedName", | |
"src": "5912:3:1", | |
"type": "" | |
} | |
], | |
"src": "5869:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6026:193:1", | |
"nodeType": "YulBlock", | |
"src": "6026:193:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6036:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6036:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value_0", | |
"nativeSrc": "6091:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6091:7:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "6060:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "6060:30:1" | |
}, | |
"nativeSrc": "6060:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6060:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "6040:16:1", | |
"nodeType": "YulTypedName", | |
"src": "6040:16:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6115:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6115:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6155:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6155:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "6149:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6149:5:1" | |
}, | |
"nativeSrc": "6149:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6149:11:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6162:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6162:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "6194:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "6194:16:1" | |
} | |
], | |
"functionName": { | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "6170:23:1", | |
"nodeType": "YulIdentifier", | |
"src": "6170:23:1" | |
}, | |
"nativeSrc": "6170:41:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6170:41:1" | |
} | |
], | |
"functionName": { | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "6121:27:1", | |
"nodeType": "YulIdentifier", | |
"src": "6121:27:1" | |
}, | |
"nativeSrc": "6121:91:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6121:91:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "6108:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6108:6:1" | |
}, | |
"nativeSrc": "6108:105:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6108:105:1" | |
}, | |
"nativeSrc": "6108:105:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6108:105:1" | |
} | |
] | |
}, | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "5950:269:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6003:4:1", | |
"nodeType": "YulTypedName", | |
"src": "6003:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6009:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6009:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value_0", | |
"nativeSrc": "6017:7:1", | |
"nodeType": "YulTypedName", | |
"src": "6017:7:1", | |
"type": "" | |
} | |
], | |
"src": "5950:269:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6274:24:1", | |
"nodeType": "YulBlock", | |
"src": "6274:24:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6284:8:1", | |
"nodeType": "YulAssignment", | |
"src": "6284:8:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "6291:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6291:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "6284:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6284:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "6225:73:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "6270:3:1", | |
"nodeType": "YulTypedName", | |
"src": "6270:3:1", | |
"type": "" | |
} | |
], | |
"src": "6225:73:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6357:136:1", | |
"nodeType": "YulBlock", | |
"src": "6357:136:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6367:46:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6367:46:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "6381:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "6381:30:1" | |
}, | |
"nativeSrc": "6381:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6381:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "zero_0", | |
"nativeSrc": "6371:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6371:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6466:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6466:4:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6472:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6472:6:1" | |
}, | |
{ | |
"name": "zero_0", | |
"nativeSrc": "6480:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6480:6:1" | |
} | |
], | |
"functionName": { | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "6422:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "6422:43:1" | |
}, | |
"nativeSrc": "6422:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6422:65:1" | |
}, | |
"nativeSrc": "6422:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6422:65:1" | |
} | |
] | |
}, | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "6304:189:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "6343:4:1", | |
"nodeType": "YulTypedName", | |
"src": "6343:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6349:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6349:6:1", | |
"type": "" | |
} | |
], | |
"src": "6304:189:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6549:136:1", | |
"nodeType": "YulBlock", | |
"src": "6549:136:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "6616:63:1", | |
"nodeType": "YulBlock", | |
"src": "6616:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6660:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6660:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6667:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6667:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "6630:29:1", | |
"nodeType": "YulIdentifier", | |
"src": "6630:29:1" | |
}, | |
"nativeSrc": "6630:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6630:39:1" | |
}, | |
"nativeSrc": "6630:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6630:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6569:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6569:5:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "6576:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6576:3:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "6566:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6566:2:1" | |
}, | |
"nativeSrc": "6566:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6566:14:1" | |
}, | |
"nativeSrc": "6559:120:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "6581:26:1", | |
"nodeType": "YulBlock", | |
"src": "6581:26:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6583:22:1", | |
"nodeType": "YulAssignment", | |
"src": "6583:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6596:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6596:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6603:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6603:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "6592:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6592:3:1" | |
}, | |
"nativeSrc": "6592:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6592:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6583:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6583:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "6563:2:1", | |
"nodeType": "YulBlock", | |
"src": "6563:2:1", | |
"statements": [] | |
}, | |
"src": "6559:120:1" | |
} | |
] | |
}, | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "6499:186:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nativeSrc": "6537:5:1", | |
"nodeType": "YulTypedName", | |
"src": "6537:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "6544:3:1", | |
"nodeType": "YulTypedName", | |
"src": "6544:3:1", | |
"type": "" | |
} | |
], | |
"src": "6499:186:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6770:464:1", | |
"nodeType": "YulBlock", | |
"src": "6770:464:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "6796:431:1", | |
"nodeType": "YulBlock", | |
"src": "6796:431:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6810:54:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6810:54:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "6858:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "6858:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "6826:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "6826:31:1" | |
}, | |
"nativeSrc": "6826:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6826:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "6814:8:1", | |
"nodeType": "YulTypedName", | |
"src": "6814:8:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6877:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6877:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "6900:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "6900:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "6928:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "6928:10:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "6910:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6910:17:1" | |
}, | |
"nativeSrc": "6910:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6910:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "6896:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6896:3:1" | |
}, | |
"nativeSrc": "6896:44:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6896:44:1" | |
}, | |
"variables": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "6881:11:1", | |
"nodeType": "YulTypedName", | |
"src": "6881:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7097:27:1", | |
"nodeType": "YulBlock", | |
"src": "7097:27:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7099:23:1", | |
"nodeType": "YulAssignment", | |
"src": "7099:23:1", | |
"value": { | |
"name": "dataArea", | |
"nativeSrc": "7114:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7114:8:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "7099:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "7099:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "7081:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "7081:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7093:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7093:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "7078:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7078:2:1" | |
}, | |
"nativeSrc": "7078:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7078:18:1" | |
}, | |
"nativeSrc": "7075:49:1", | |
"nodeType": "YulIf", | |
"src": "7075:49:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "7166:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "7166:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "7183:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7183:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "7211:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7211:3:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "7193:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "7193:17:1" | |
}, | |
"nativeSrc": "7193:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7193:22:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "7179:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7179:3:1" | |
}, | |
"nativeSrc": "7179:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7179:37:1" | |
} | |
], | |
"functionName": { | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "7137:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "7137:28:1" | |
}, | |
"nativeSrc": "7137:80:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7137:80:1" | |
}, | |
"nativeSrc": "7137:80:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "7137:80:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "6787:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6787:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6792:2:1", | |
"nodeType": "YulLiteral", | |
"src": "6792:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "6784:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6784:2:1" | |
}, | |
"nativeSrc": "6784:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6784:11:1" | |
}, | |
"nativeSrc": "6781:446:1", | |
"nodeType": "YulIf", | |
"src": "6781:446:1" | |
} | |
] | |
}, | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "6691:543:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "array", | |
"nativeSrc": "6746:5:1", | |
"nodeType": "YulTypedName", | |
"src": "6746:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "6753:3:1", | |
"nodeType": "YulTypedName", | |
"src": "6753:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "startIndex", | |
"nativeSrc": "6758:10:1", | |
"nodeType": "YulTypedName", | |
"src": "6758:10:1", | |
"type": "" | |
} | |
], | |
"src": "6691:543:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7303:54:1", | |
"nodeType": "YulBlock", | |
"src": "7303:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7313:37:1", | |
"nodeType": "YulAssignment", | |
"src": "7313:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7338:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7338:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7344:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7344:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shr", | |
"nativeSrc": "7334:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7334:3:1" | |
}, | |
"nativeSrc": "7334:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7334:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7313:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7313:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "7240:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7278:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7278:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7284:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7284:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7294:8:1", | |
"nodeType": "YulTypedName", | |
"src": "7294:8:1", | |
"type": "" | |
} | |
], | |
"src": "7240:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7414:118:1", | |
"nodeType": "YulBlock", | |
"src": "7414:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7424:68:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7424:68:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7473:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7473:1:1", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "7476:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7476:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "7469:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7469:3:1" | |
}, | |
"nativeSrc": "7469:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7469:13:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7488:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7488:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "7484:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7484:3:1" | |
}, | |
"nativeSrc": "7484:6:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7484:6:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "7440:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "7440:28:1" | |
}, | |
"nativeSrc": "7440:51:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7440:51:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "7436:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7436:3:1" | |
}, | |
"nativeSrc": "7436:56:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7436:56:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "7428:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7428:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7501:25:1", | |
"nodeType": "YulAssignment", | |
"src": "7501:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7515:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7515:4:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "7521:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7521:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7511:3:1" | |
}, | |
"nativeSrc": "7511:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7511:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7501:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7501:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "7363:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7391:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7391:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "7397:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7397:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7407:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7407:6:1", | |
"type": "" | |
} | |
], | |
"src": "7363:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7618:214:1", | |
"nodeType": "YulBlock", | |
"src": "7618:214:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7751:37:1", | |
"nodeType": "YulAssignment", | |
"src": "7751:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7778:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7778:4:1" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "7784:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7784:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "7759:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7759:18:1" | |
}, | |
"nativeSrc": "7759:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7759:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7751:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7751:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7797:29:1", | |
"nodeType": "YulAssignment", | |
"src": "7797:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7808:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7808:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7818:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7818:1:1", | |
"type": "", | |
"value": "2" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "7821:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7821:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "7814:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7814:3:1" | |
}, | |
"nativeSrc": "7814:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7814:11:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "7805:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7805:2:1" | |
}, | |
"nativeSrc": "7805:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7805:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "used", | |
"nativeSrc": "7797:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7797:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "7537:295:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7599:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7599:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "7605:3:1", | |
"nodeType": "YulTypedName", | |
"src": "7605:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "used", | |
"nativeSrc": "7613:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7613:4:1", | |
"type": "" | |
} | |
], | |
"src": "7537:295:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7929:1303:1", | |
"nodeType": "YulBlock", | |
"src": "7929:1303:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7940:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7940:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "7987:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7987:3:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "7954:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "7954:32:1" | |
}, | |
"nativeSrc": "7954:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7954:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "7944:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7944:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8076:22:1", | |
"nodeType": "YulBlock", | |
"src": "8076:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "8078:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "8078:16:1" | |
}, | |
"nativeSrc": "8078:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8078:18:1" | |
}, | |
"nativeSrc": "8078:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8078:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8048:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8048:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8056:18:1", | |
"nodeType": "YulLiteral", | |
"src": "8056:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "8045:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8045:2:1" | |
}, | |
"nativeSrc": "8045:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8045:30:1" | |
}, | |
"nativeSrc": "8042:56:1", | |
"nodeType": "YulIf", | |
"src": "8042:56:1" | |
}, | |
{ | |
"nativeSrc": "8108:52:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8108:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8154:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8154:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "8148:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8148:5:1" | |
}, | |
"nativeSrc": "8148:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8148:11:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_byte_array_length", | |
"nativeSrc": "8122:25:1", | |
"nodeType": "YulIdentifier", | |
"src": "8122:25:1" | |
}, | |
"nativeSrc": "8122:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8122:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "oldLen", | |
"nativeSrc": "8112:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8112:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8253:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8253:4:1" | |
}, | |
{ | |
"name": "oldLen", | |
"nativeSrc": "8259:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8259:6:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "8267:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8267:6:1" | |
} | |
], | |
"functionName": { | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "8207:45:1", | |
"nodeType": "YulIdentifier", | |
"src": "8207:45:1" | |
}, | |
"nativeSrc": "8207:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8207:67:1" | |
}, | |
"nativeSrc": "8207:67:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8207:67:1" | |
}, | |
{ | |
"nativeSrc": "8284:18:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8284:18:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8301:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8301:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8288:9:1", | |
"nodeType": "YulTypedName", | |
"src": "8288:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8312:17:1", | |
"nodeType": "YulAssignment", | |
"src": "8312:17:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8325:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8325:4:1", | |
"type": "", | |
"value": "0x20" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8312:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8312:9:1" | |
} | |
] | |
}, | |
{ | |
"cases": [ | |
{ | |
"body": { | |
"nativeSrc": "8376:611:1", | |
"nodeType": "YulBlock", | |
"src": "8376:611:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8390:37:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8390:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8409:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8409:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "8421:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8421:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "8417:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8417:3:1" | |
}, | |
"nativeSrc": "8417:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8417:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "8405:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8405:3:1" | |
}, | |
"nativeSrc": "8405:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8405:22:1" | |
}, | |
"variables": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "8394:7:1", | |
"nodeType": "YulTypedName", | |
"src": "8394:7:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8441:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8441:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8487:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8487:4:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "8455:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "8455:31:1" | |
}, | |
"nativeSrc": "8455:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8455:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8445:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8445:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8505:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8505:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8514:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8514:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8509:1:1", | |
"nodeType": "YulTypedName", | |
"src": "8509:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8573:163:1", | |
"nodeType": "YulBlock", | |
"src": "8573:163:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8598:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8598:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "8616:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8616:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8621:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8621:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8612:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8612:3:1" | |
}, | |
"nativeSrc": "8612:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8612:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "8606:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8606:5:1" | |
}, | |
"nativeSrc": "8606:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8606:26:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8591:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8591:6:1" | |
}, | |
"nativeSrc": "8591:42:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8591:42:1" | |
}, | |
"nativeSrc": "8591:42:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8591:42:1" | |
}, | |
{ | |
"nativeSrc": "8650:24:1", | |
"nodeType": "YulAssignment", | |
"src": "8650:24:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8664:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8664:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8672:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8672:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8660:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8660:3:1" | |
}, | |
"nativeSrc": "8660:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8660:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8650:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8650:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "8691:31:1", | |
"nodeType": "YulAssignment", | |
"src": "8691:31:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8708:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8708:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8719:2:1", | |
"nodeType": "YulLiteral", | |
"src": "8719:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8704:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8704:3:1" | |
}, | |
"nativeSrc": "8704:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8704:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8691:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8691:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8539:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "8539:1:1" | |
}, | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "8542:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "8542:7:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "8536:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8536:2:1" | |
}, | |
"nativeSrc": "8536:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8536:14:1" | |
}, | |
"nativeSrc": "8528:208:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "8551:21:1", | |
"nodeType": "YulBlock", | |
"src": "8551:21:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8553:17:1", | |
"nodeType": "YulAssignment", | |
"src": "8553:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8562:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "8562:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8565:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8565:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8558:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8558:3:1" | |
}, | |
"nativeSrc": "8558:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8558:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "8553:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "8553:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "8532:3:1", | |
"nodeType": "YulBlock", | |
"src": "8532:3:1", | |
"statements": [] | |
}, | |
"src": "8528:208:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8772:156:1", | |
"nodeType": "YulBlock", | |
"src": "8772:156:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8790:43:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8790:43:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "8817:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8817:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "8822:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8822:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8813:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8813:3:1" | |
}, | |
"nativeSrc": "8813:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8813:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "8807:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8807:5:1" | |
}, | |
"nativeSrc": "8807:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8807:26:1" | |
}, | |
"variables": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "8794:9:1", | |
"nodeType": "YulTypedName", | |
"src": "8794:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "8857:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8857:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "8884:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8884:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8899:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8899:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8907:4:1", | |
"nodeType": "YulLiteral", | |
"src": "8907:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "8895:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8895:3:1" | |
}, | |
"nativeSrc": "8895:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8895:17:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "8865:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "8865:18:1" | |
}, | |
"nativeSrc": "8865:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8865:48:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8850:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8850:6:1" | |
}, | |
"nativeSrc": "8850:64:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8850:64:1" | |
}, | |
"nativeSrc": "8850:64:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8850:64:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "8755:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "8755:7:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "8764:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8764:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "8752:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8752:2:1" | |
}, | |
"nativeSrc": "8752:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8752:19:1" | |
}, | |
"nativeSrc": "8749:179:1", | |
"nodeType": "YulIf", | |
"src": "8749:179:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8948:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8948:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8962:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8962:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8970:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8970:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "8958:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8958:3:1" | |
}, | |
"nativeSrc": "8958:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8958:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8974:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8974:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8954:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8954:3:1" | |
}, | |
"nativeSrc": "8954:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8954:22:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8941:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8941:6:1" | |
}, | |
"nativeSrc": "8941:36:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8941:36:1" | |
}, | |
"nativeSrc": "8941:36:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8941:36:1" | |
} | |
] | |
}, | |
"nativeSrc": "8369:618:1", | |
"nodeType": "YulCase", | |
"src": "8369:618:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8374:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8374:1:1", | |
"type": "", | |
"value": "1" | |
} | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9004:222:1", | |
"nodeType": "YulBlock", | |
"src": "9004:222:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9018:14:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9018:14:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "9031:1:1", | |
"nodeType": "YulLiteral", | |
"src": "9031:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "9022:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9022:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9055:67:1", | |
"nodeType": "YulBlock", | |
"src": "9055:67:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9073:35:1", | |
"nodeType": "YulAssignment", | |
"src": "9073:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "9092:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9092:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "9097:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "9097:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "9088:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9088:3:1" | |
}, | |
"nativeSrc": "9088:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9088:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "9082:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9082:5:1" | |
}, | |
"nativeSrc": "9082:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9082:26:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "9073:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9073:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"name": "newLen", | |
"nativeSrc": "9048:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9048:6:1" | |
}, | |
"nativeSrc": "9045:77:1", | |
"nodeType": "YulIf", | |
"src": "9045:77:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "9142:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9142:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "9201:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9201:5:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "9208:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9208:6:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "9148:52:1", | |
"nodeType": "YulIdentifier", | |
"src": "9148:52:1" | |
}, | |
"nativeSrc": "9148:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9148:67:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "9135:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9135:6:1" | |
}, | |
"nativeSrc": "9135:81:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9135:81:1" | |
}, | |
"nativeSrc": "9135:81:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "9135:81:1" | |
} | |
] | |
}, | |
"nativeSrc": "8996:230:1", | |
"nodeType": "YulCase", | |
"src": "8996:230:1", | |
"value": "default" | |
} | |
], | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "8349:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8349:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8357:2:1", | |
"nodeType": "YulLiteral", | |
"src": "8357:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "8346:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8346:2:1" | |
}, | |
"nativeSrc": "8346:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8346:14:1" | |
}, | |
"nativeSrc": "8339:887:1", | |
"nodeType": "YulSwitch", | |
"src": "8339:887:1" | |
} | |
] | |
}, | |
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
"nativeSrc": "7837:1395:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "7918:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7918:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "7924:3:1", | |
"nodeType": "YulTypedName", | |
"src": "7924:3:1", | |
"type": "" | |
} | |
], | |
"src": "7837:1395: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 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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\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 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" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c80635a9b0b8914610038578063937f6e7714610056575b5f80fd5b610040610072565b60405161004d919061019d565b60405180910390f35b610070600480360381019061006b91906102fa565b610101565b005b60605f80546100809061036e565b80601f01602080910402602001604051908101604052809291908181526020018280546100ac9061036e565b80156100f75780601f106100ce576101008083540402835291602001916100f7565b820191905f5260205f20905b8154815290600101906020018083116100da57829003601f168201915b5050505050905090565b805f908161010f9190610544565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561014a57808201518184015260208101905061012f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016f82610113565b610179818561011d565b935061018981856020860161012d565b61019281610155565b840191505092915050565b5f6020820190508181035f8301526101b58184610165565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61020c82610155565b810181811067ffffffffffffffff8211171561022b5761022a6101d6565b5b80604052505050565b5f61023d6101bd565b90506102498282610203565b919050565b5f67ffffffffffffffff821115610268576102676101d6565b5b61027182610155565b9050602081019050919050565b828183375f83830152505050565b5f61029e6102998461024e565b610234565b9050828152602081018484840111156102ba576102b96101d2565b5b6102c584828561027e565b509392505050565b5f82601f8301126102e1576102e06101ce565b5b81356102f184826020860161028c565b91505092915050565b5f6020828403121561030f5761030e6101c6565b5b5f82013567ffffffffffffffff81111561032c5761032b6101ca565b5b610338848285016102cd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038557607f821691505b60208210810361039857610397610341565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103bf565b61040486836103bf565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61044861044361043e8461041c565b610425565b61041c565b9050919050565b5f819050919050565b6104618361042e565b61047561046d8261044f565b8484546103cb565b825550505050565b5f90565b61048961047d565b610494818484610458565b505050565b5b818110156104b7576104ac5f82610481565b60018101905061049a565b5050565b601f8211156104fc576104cd8161039e565b6104d6846103b0565b810160208510156104e5578190505b6104f96104f1856103b0565b830182610499565b50505b505050565b5f82821c905092915050565b5f61051c5f1984600802610501565b1980831691505092915050565b5f610534838361050d565b9150826002028217905092915050565b61054d82610113565b67ffffffffffffffff811115610566576105656101d6565b5b610570825461036e565b61057b8282856104bb565b5f60209050601f8311600181146105ac575f841561059a578287015190505b6105a48582610529565b86555061060b565b601f1984166105ba8661039e565b5f5b828110156105e1578489015182556001820191506020850194506020810190506105bc565b868310156105fe57848901516105fa601f89168261050d565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220078c3867812dc64df10608c88f97efe811b780b85ce6df4f286e1d285e6a79da64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5A9B0B89 EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0x937F6E77 EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x2FA JUMP JUMPDEST PUSH2 0x101 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH0 DUP1 SLOAD PUSH2 0x80 SWAP1 PUSH2 0x36E 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 0xAC SWAP1 PUSH2 0x36E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xCE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x544 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x12F JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x16F DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x179 DUP2 DUP6 PUSH2 0x11D JUMP JUMPDEST SWAP4 POP PUSH2 0x189 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x12D JUMP JUMPDEST PUSH2 0x192 DUP2 PUSH2 0x155 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1B5 DUP2 DUP5 PUSH2 0x165 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x20C DUP3 PUSH2 0x155 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x22B JUMPI PUSH2 0x22A PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x23D PUSH2 0x1BD JUMP JUMPDEST SWAP1 POP PUSH2 0x249 DUP3 DUP3 PUSH2 0x203 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x268 JUMPI PUSH2 0x267 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x271 DUP3 PUSH2 0x155 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x29E PUSH2 0x299 DUP5 PUSH2 0x24E JUMP JUMPDEST PUSH2 0x234 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2BA JUMPI PUSH2 0x2B9 PUSH2 0x1D2 JUMP JUMPDEST JUMPDEST PUSH2 0x2C5 DUP5 DUP3 DUP6 PUSH2 0x27E JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E1 JUMPI PUSH2 0x2E0 PUSH2 0x1CE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2F1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x1C6 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x32C JUMPI PUSH2 0x32B PUSH2 0x1CA JUMP JUMPDEST JUMPDEST PUSH2 0x338 DUP5 DUP3 DUP6 ADD PUSH2 0x2CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x385 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x398 JUMPI PUSH2 0x397 PUSH2 0x341 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x3FA PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x3BF JUMP JUMPDEST PUSH2 0x404 DUP7 DUP4 PUSH2 0x3BF 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x448 PUSH2 0x443 PUSH2 0x43E DUP5 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x425 JUMP JUMPDEST PUSH2 0x41C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x461 DUP4 PUSH2 0x42E JUMP JUMPDEST PUSH2 0x475 PUSH2 0x46D DUP3 PUSH2 0x44F JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x3CB JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x489 PUSH2 0x47D JUMP JUMPDEST PUSH2 0x494 DUP2 DUP5 DUP5 PUSH2 0x458 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B7 JUMPI PUSH2 0x4AC PUSH0 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x49A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4FC JUMPI PUSH2 0x4CD DUP2 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x4D6 DUP5 PUSH2 0x3B0 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x4E5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x4F9 PUSH2 0x4F1 DUP6 PUSH2 0x3B0 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x499 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x51C PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x501 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x534 DUP4 DUP4 PUSH2 0x50D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x54D DUP3 PUSH2 0x113 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x566 JUMPI PUSH2 0x565 PUSH2 0x1D6 JUMP JUMPDEST JUMPDEST PUSH2 0x570 DUP3 SLOAD PUSH2 0x36E JUMP JUMPDEST PUSH2 0x57B DUP3 DUP3 DUP6 PUSH2 0x4BB JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5AC JUMPI PUSH0 DUP5 ISZERO PUSH2 0x59A JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x5A4 DUP6 DUP3 PUSH2 0x529 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x60B JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x5BA DUP7 PUSH2 0x39E JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5E1 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 PUSH2 0x5BC JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x5FE JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x5FA PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x50D 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD DUP13 CODESIZE PUSH8 0x812DC64DF10608C8 DUP16 SWAP8 0xEF 0xE8 GT 0xB7 DUP1 0xB8 0x5C 0xE6 0xDF 0x4F 0x28 PUSH15 0x1D285E6A79DA64736F6C6343000816 STOP CALLER ", | |
"sourceMap": "58:239:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;204:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;114:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;204:91;246:13;278:10;271:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;204:91;:::o;114:84::-;185:6;172:10;:19;;;;;;:::i;:::-;;114:84;:::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:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:117;1785:1;1782;1775:12;1799:117;1908:1;1905;1898:12;1922:180;1970:77;1967:1;1960:88;2067:4;2064:1;2057:15;2091:4;2088:1;2081:15;2108:281;2191:27;2213:4;2191:27;:::i;:::-;2183:6;2179:40;2321:6;2309:10;2306:22;2285:18;2273:10;2270:34;2267:62;2264:88;;;2332:18;;:::i;:::-;2264:88;2372:10;2368:2;2361:22;2151:238;2108:281;;:::o;2395:129::-;2429:6;2456:20;;:::i;:::-;2446:30;;2485:33;2513:4;2505:6;2485:33;:::i;:::-;2395:129;;;:::o;2530:308::-;2592:4;2682:18;2674:6;2671:30;2668:56;;;2704:18;;:::i;:::-;2668:56;2742:29;2764:6;2742:29;:::i;:::-;2734:37;;2826:4;2820;2816:15;2808:23;;2530:308;;;:::o;2844:146::-;2941:6;2936:3;2931;2918:30;2982:1;2973:6;2968:3;2964:16;2957:27;2844:146;;;:::o;2996:425::-;3074:5;3099:66;3115:49;3157:6;3115:49;:::i;:::-;3099:66;:::i;:::-;3090:75;;3188:6;3181:5;3174:21;3226:4;3219:5;3215:16;3264:3;3255:6;3250:3;3246:16;3243:25;3240:112;;;3271:79;;:::i;:::-;3240:112;3361:54;3408:6;3403:3;3398;3361:54;:::i;:::-;3080:341;2996:425;;;;;:::o;3441:340::-;3497:5;3546:3;3539:4;3531:6;3527:17;3523:27;3513:122;;3554:79;;:::i;:::-;3513:122;3671:6;3658:20;3696:79;3771:3;3763:6;3756:4;3748:6;3744:17;3696:79;:::i;:::-;3687:88;;3503:278;3441:340;;;;:::o;3787:509::-;3856:6;3905:2;3893:9;3884:7;3880:23;3876:32;3873:119;;;3911:79;;:::i;:::-;3873:119;4059:1;4048:9;4044:17;4031:31;4089:18;4081:6;4078:30;4075:117;;;4111:79;;:::i;:::-;4075:117;4216:63;4271:7;4262:6;4251:9;4247:22;4216:63;:::i;:::-;4206:73;;4002:287;3787:509;;;;:::o;4302:180::-;4350:77;4347:1;4340:88;4447:4;4444:1;4437:15;4471:4;4468:1;4461:15;4488:320;4532:6;4569:1;4563:4;4559:12;4549:22;;4616:1;4610:4;4606:12;4637:18;4627:81;;4693:4;4685:6;4681:17;4671:27;;4627:81;4755:2;4747:6;4744:14;4724:18;4721:38;4718:84;;4774:18;;:::i;:::-;4718:84;4539:269;4488:320;;;:::o;4814:141::-;4863:4;4886:3;4878:11;;4909:3;4906:1;4899:14;4943:4;4940:1;4930:18;4922:26;;4814:141;;;:::o;4961:93::-;4998:6;5045:2;5040;5033:5;5029:14;5025:23;5015:33;;4961:93;;;:::o;5060:107::-;5104:8;5154:5;5148:4;5144:16;5123:37;;5060:107;;;;:::o;5173:393::-;5242:6;5292:1;5280:10;5276:18;5315:97;5345:66;5334:9;5315:97;:::i;:::-;5433:39;5463:8;5452:9;5433:39;:::i;:::-;5421:51;;5505:4;5501:9;5494:5;5490:21;5481:30;;5554:4;5544:8;5540:19;5533:5;5530:30;5520:40;;5249:317;;5173:393;;;;;:::o;5572:77::-;5609:7;5638:5;5627:16;;5572:77;;;:::o;5655:60::-;5683:3;5704:5;5697:12;;5655:60;;;:::o;5721:142::-;5771:9;5804:53;5822:34;5831:24;5849:5;5831:24;:::i;:::-;5822:34;:::i;:::-;5804:53;:::i;:::-;5791:66;;5721:142;;;:::o;5869:75::-;5912:3;5933:5;5926:12;;5869:75;;;:::o;5950:269::-;6060:39;6091:7;6060:39;:::i;:::-;6121:91;6170:41;6194:16;6170:41;:::i;:::-;6162:6;6155:4;6149:11;6121:91;:::i;:::-;6115:4;6108:105;6026:193;5950:269;;;:::o;6225:73::-;6270:3;6225:73;:::o;6304:189::-;6381:32;;:::i;:::-;6422:65;6480:6;6472;6466:4;6422:65;:::i;:::-;6357:136;6304:189;;:::o;6499:186::-;6559:120;6576:3;6569:5;6566:14;6559:120;;;6630:39;6667:1;6660:5;6630:39;:::i;:::-;6603:1;6596:5;6592:13;6583:22;;6559:120;;;6499:186;;:::o;6691:543::-;6792:2;6787:3;6784:11;6781:446;;;6826:38;6858:5;6826:38;:::i;:::-;6910:29;6928:10;6910:29;:::i;:::-;6900:8;6896:44;7093:2;7081:10;7078:18;7075:49;;;7114:8;7099:23;;7075:49;7137:80;7193:22;7211:3;7193:22;:::i;:::-;7183:8;7179:37;7166:11;7137:80;:::i;:::-;6796:431;;6781:446;6691:543;;;:::o;7240:117::-;7294:8;7344:5;7338:4;7334:16;7313:37;;7240:117;;;;:::o;7363:169::-;7407:6;7440:51;7488:1;7484:6;7476:5;7473:1;7469:13;7440:51;:::i;:::-;7436:56;7521:4;7515;7511:15;7501:25;;7414:118;7363:169;;;;:::o;7537:295::-;7613:4;7759:29;7784:3;7778:4;7759:29;:::i;:::-;7751:37;;7821:3;7818:1;7814:11;7808:4;7805:21;7797:29;;7537:295;;;;:::o;7837:1395::-;7954:37;7987:3;7954:37;:::i;:::-;8056:18;8048:6;8045:30;8042:56;;;8078:18;;:::i;:::-;8042:56;8122:38;8154:4;8148:11;8122:38;:::i;:::-;8207:67;8267:6;8259;8253:4;8207:67;:::i;:::-;8301:1;8325:4;8312:17;;8357:2;8349:6;8346:14;8374:1;8369:618;;;;9031:1;9048:6;9045:77;;;9097:9;9092:3;9088:19;9082:26;9073:35;;9045:77;9148:67;9208:6;9201:5;9148:67;:::i;:::-;9142:4;9135:81;9004:222;8339:887;;8369:618;8421:4;8417:9;8409:6;8405:22;8455:37;8487:4;8455:37;:::i;:::-;8514:1;8528:208;8542:7;8539:1;8536:14;8528:208;;;8621:9;8616:3;8612:19;8606:26;8598:6;8591:42;8672:1;8664:6;8660:14;8650:24;;8719:2;8708:9;8704:18;8691:31;;8565:4;8562:1;8558:12;8553:17;;8528:208;;;8764:6;8755:7;8752:19;8749:179;;;8822:9;8817:3;8813:19;8807:26;8865:48;8907:4;8899:6;8895:17;8884:9;8865:48;:::i;:::-;8857:6;8850:64;8772:156;8749:179;8974:1;8970;8962:6;8958:14;8954:22;8948:4;8941:36;8376:611;;;8339:887;;7929:1303;;;7837:1395;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "321800", | |
"executionCost": "360", | |
"totalCost": "322160" | |
}, | |
"external": { | |
"getInfo()": "infinite", | |
"setInfo(string)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"getInfo()": "5a9b0b89", | |
"setInfo(string)": "937f6e77" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "getInfo", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "myInfo", | |
"type": "string" | |
} | |
], | |
"name": "setInfo", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.22+commit.4fc1097e" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "getInfo", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "myInfo", | |
"type": "string" | |
} | |
], | |
"name": "setInfo", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/Register.sol": "Register" | |
}, | |
"evmVersion": "shanghai", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/Register.sol": { | |
"keccak256": "0x4aecb2f2447c0af52d4644286011b37119f751dc3547c70ef2223100d6df44c7", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f88fa4d8e6568a770b42795f4d5b646335395687e3e1e9ce90ab95c85c0c0fe6", | |
"dweb:/ipfs/QmT2wu6janA2S9x4DCeWdu9BpvqRR2XQDQhp2vRSP6db8k" | |
] | |
} | |
}, | |
"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: MIT | |
pragma solidity 0.8.22; | |
contract Register { | |
string private storedInfo; | |
function setInfo(string memory myInfo) external { | |
storedInfo = myInfo; | |
} | |
function getInfo() external view returns (string memory) { | |
return storedInfo; | |
} | |
} |
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
/* eslint-disable no-undef */ | |
// 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