Created
November 26, 2023 17:32
-
-
Save JustalK/adac5c060cc3659927362ccbec2cb955 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 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 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 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 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 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 bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"goerli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": { | |
"array_dataslot_t_string_storage": { | |
"entryPoint": 286, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 134, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clean_up_bytearray_end_slots_t_string_storage": { | |
"entryPoint": 595, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 416, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clear_storage_range_t_bytes1": { | |
"entryPoint": 557, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"convert_t_uint256_to_t_uint256": { | |
"entryPoint": 434, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
"entryPoint": 746, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"divide_by_32_ceil": { | |
"entryPoint": 304, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 234, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_used_part_and_set_length_of_short_byte_array": { | |
"entryPoint": 717, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"identity": { | |
"entryPoint": 425, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mask_bytes_dynamic": { | |
"entryPoint": 687, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 189, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 144, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"prepare_store_t_uint256": { | |
"entryPoint": 473, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"shift_left_dynamic": { | |
"entryPoint": 319, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"shift_right_unsigned_dynamic": { | |
"entryPoint": 675, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"storage_set_to_zero_t_uint256": { | |
"entryPoint": 529, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"update_byte_slice_dynamic32": { | |
"entryPoint": 331, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"update_storage_value_t_uint256_to_t_uint256": { | |
"entryPoint": 482, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"zero_value_for_split_t_uint256": { | |
"entryPoint": 525, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:5231:1", | |
"nodeType": "YulBlock", | |
"src": "0:5231: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": "140:152:1", | |
"nodeType": "YulBlock", | |
"src": "140:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "157:1:1", | |
"nodeType": "YulLiteral", | |
"src": "157:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "160:77:1", | |
"nodeType": "YulLiteral", | |
"src": "160:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "150:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "150:6:1" | |
}, | |
"nativeSrc": "150:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "150:88:1" | |
}, | |
"nativeSrc": "150:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "150:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "254:1:1", | |
"nodeType": "YulLiteral", | |
"src": "254:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "257:4:1", | |
"nodeType": "YulLiteral", | |
"src": "257:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "247:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "247:6:1" | |
}, | |
"nativeSrc": "247:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "247:15:1" | |
}, | |
"nativeSrc": "247:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "247:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "278:1:1", | |
"nodeType": "YulLiteral", | |
"src": "278:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "281:4:1", | |
"nodeType": "YulLiteral", | |
"src": "281:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "271:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "271:6:1" | |
}, | |
"nativeSrc": "271:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "271:15:1" | |
}, | |
"nativeSrc": "271:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "271:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nativeSrc": "112:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "112:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "326:152:1", | |
"nodeType": "YulBlock", | |
"src": "326:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "343:1:1", | |
"nodeType": "YulLiteral", | |
"src": "343:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "346:77:1", | |
"nodeType": "YulLiteral", | |
"src": "346:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "336:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "336:6:1" | |
}, | |
"nativeSrc": "336:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "336:88:1" | |
}, | |
"nativeSrc": "336:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "336:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "440:1:1", | |
"nodeType": "YulLiteral", | |
"src": "440:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "443:4:1", | |
"nodeType": "YulLiteral", | |
"src": "443:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "433:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "433:6:1" | |
}, | |
"nativeSrc": "433:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "433:15:1" | |
}, | |
"nativeSrc": "433:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "433:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "464:1:1", | |
"nodeType": "YulLiteral", | |
"src": "464:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "467:4:1", | |
"nodeType": "YulLiteral", | |
"src": "467:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "457:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "457:6:1" | |
}, | |
"nativeSrc": "457:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "457:15:1" | |
}, | |
"nativeSrc": "457:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "457:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nativeSrc": "298:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "298:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "535:269:1", | |
"nodeType": "YulBlock", | |
"src": "535:269:1", | |
"statements": [ | |
{ | |
"nativeSrc": "545:22:1", | |
"nodeType": "YulAssignment", | |
"src": "545:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "559:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "559:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "565:1:1", | |
"nodeType": "YulLiteral", | |
"src": "565:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "555:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "555:3:1" | |
}, | |
"nativeSrc": "555:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "555:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "545:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "545:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "576:38:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "576:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "606:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "606:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "612:1:1", | |
"nodeType": "YulLiteral", | |
"src": "612:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "602:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "602:3:1" | |
}, | |
"nativeSrc": "602:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "602:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "580:18:1", | |
"nodeType": "YulTypedName", | |
"src": "580:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "653:51:1", | |
"nodeType": "YulBlock", | |
"src": "653:51:1", | |
"statements": [ | |
{ | |
"nativeSrc": "667:27:1", | |
"nodeType": "YulAssignment", | |
"src": "667:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "681:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "681:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "689:4:1", | |
"nodeType": "YulLiteral", | |
"src": "689:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "677:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "677:3:1" | |
}, | |
"nativeSrc": "677:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "677:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "667:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "667:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "633:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "633:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "626:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "626:6:1" | |
}, | |
"nativeSrc": "626:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "626:26:1" | |
}, | |
"nativeSrc": "623:81:1", | |
"nodeType": "YulIf", | |
"src": "623:81:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "756:42:1", | |
"nodeType": "YulBlock", | |
"src": "756:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nativeSrc": "770:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "770:16:1" | |
}, | |
"nativeSrc": "770:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "770:18:1" | |
}, | |
"nativeSrc": "770:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "770:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "720:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "720:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "743:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "743:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "751:2:1", | |
"nodeType": "YulLiteral", | |
"src": "751:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "740:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "740:2:1" | |
}, | |
"nativeSrc": "740:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "740:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "717:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "717:2:1" | |
}, | |
"nativeSrc": "717:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "717:38:1" | |
}, | |
"nativeSrc": "714:84:1", | |
"nodeType": "YulIf", | |
"src": "714:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nativeSrc": "484:320:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "519:4:1", | |
"nodeType": "YulTypedName", | |
"src": "519:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "528:6:1", | |
"nodeType": "YulTypedName", | |
"src": "528:6:1", | |
"type": "" | |
} | |
], | |
"src": "484:320:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "864:87:1", | |
"nodeType": "YulBlock", | |
"src": "864:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "874:11:1", | |
"nodeType": "YulAssignment", | |
"src": "874:11:1", | |
"value": { | |
"name": "ptr", | |
"nativeSrc": "882:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "882:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "874:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "874:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "902:1:1", | |
"nodeType": "YulLiteral", | |
"src": "902:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "ptr", | |
"nativeSrc": "905:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "905:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "895:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "895:6:1" | |
}, | |
"nativeSrc": "895:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "895:14:1" | |
}, | |
"nativeSrc": "895:14:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "895:14:1" | |
}, | |
{ | |
"nativeSrc": "918:26:1", | |
"nodeType": "YulAssignment", | |
"src": "918:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "936:1:1", | |
"nodeType": "YulLiteral", | |
"src": "936:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "939:4:1", | |
"nodeType": "YulLiteral", | |
"src": "939:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "keccak256", | |
"nativeSrc": "926:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "926:9:1" | |
}, | |
"nativeSrc": "926:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "926:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "918:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "918:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "810:141:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nativeSrc": "851:3:1", | |
"nodeType": "YulTypedName", | |
"src": "851:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nativeSrc": "859:4:1", | |
"nodeType": "YulTypedName", | |
"src": "859:4:1", | |
"type": "" | |
} | |
], | |
"src": "810:141:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1001:49:1", | |
"nodeType": "YulBlock", | |
"src": "1001:49:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1011:33:1", | |
"nodeType": "YulAssignment", | |
"src": "1011:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1029:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1029:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1036:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1036:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1025:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1025:3:1" | |
}, | |
"nativeSrc": "1025:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1025:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1041:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1041:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "1021:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1021:3:1" | |
}, | |
"nativeSrc": "1021:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1021:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1011:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1011:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "957:93:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "984:5:1", | |
"nodeType": "YulTypedName", | |
"src": "984:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "994:6:1", | |
"nodeType": "YulTypedName", | |
"src": "994:6:1", | |
"type": "" | |
} | |
], | |
"src": "957:93:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1109:54:1", | |
"nodeType": "YulBlock", | |
"src": "1109:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1119:37:1", | |
"nodeType": "YulAssignment", | |
"src": "1119:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "1144:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1144:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "1150:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1150:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nativeSrc": "1140:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1140:3:1" | |
}, | |
"nativeSrc": "1140:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1140:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "1119:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1119:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_dynamic", | |
"nativeSrc": "1056:107:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "1084:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1084:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "1090:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1090:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "1100:8:1", | |
"nodeType": "YulTypedName", | |
"src": "1100:8:1", | |
"type": "" | |
} | |
], | |
"src": "1056:107:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1245:317:1", | |
"nodeType": "YulBlock", | |
"src": "1245:317:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1255:35:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "1255:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "1276:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "1276:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1288:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1288:1:1", | |
"type": "", | |
"value": "8" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "1272:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1272:3:1" | |
}, | |
"nativeSrc": "1272:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1272:18:1" | |
}, | |
"variables": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "1259:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1259:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1299:109:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "1299:109:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "1330:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1330:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1341:66:1", | |
"nodeType": "YulLiteral", | |
"src": "1341:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "1311:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "1311:18:1" | |
}, | |
"nativeSrc": "1311:97:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1311:97:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "1303:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1303:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1417:51:1", | |
"nodeType": "YulAssignment", | |
"src": "1417:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "1448:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1448:9:1" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1459:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1459:8:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "1429:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "1429:18:1" | |
}, | |
"nativeSrc": "1429:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1429:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1417:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1417:8:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1477:30:1", | |
"nodeType": "YulAssignment", | |
"src": "1477:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1490:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1490:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "1501:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1501:4:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "1497:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1497:3:1" | |
}, | |
"nativeSrc": "1497:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1497:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "1486:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1486:3:1" | |
}, | |
"nativeSrc": "1486:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1486:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1477:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1477:5:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1516:40:1", | |
"nodeType": "YulAssignment", | |
"src": "1516:40:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1529:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1529:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1540:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1540:8:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "1550:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1550:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "1536:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1536:3:1" | |
}, | |
"nativeSrc": "1536:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1536:19:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "1526:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "1526:2:1" | |
}, | |
"nativeSrc": "1526:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1526:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1516:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "1169:393:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1206:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1206:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "1213:10:1", | |
"nodeType": "YulTypedName", | |
"src": "1213:10:1", | |
"type": "" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1225:8:1", | |
"nodeType": "YulTypedName", | |
"src": "1225:8:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1238:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1238:6:1", | |
"type": "" | |
} | |
], | |
"src": "1169:393:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1613:32:1", | |
"nodeType": "YulBlock", | |
"src": "1613:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1623:16:1", | |
"nodeType": "YulAssignment", | |
"src": "1623:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1634:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1634:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1623:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "1623:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1568:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1595:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1595:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1605:7:1", | |
"nodeType": "YulTypedName", | |
"src": "1605:7:1", | |
"type": "" | |
} | |
], | |
"src": "1568:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1683:28:1", | |
"nodeType": "YulBlock", | |
"src": "1683:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1693:12:1", | |
"nodeType": "YulAssignment", | |
"src": "1693:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1700:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1700:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1693:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1693:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "identity", | |
"nativeSrc": "1651:60:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1669:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1669:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1679:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1679:3:1", | |
"type": "" | |
} | |
], | |
"src": "1651:60:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1777:82:1", | |
"nodeType": "YulBlock", | |
"src": "1777:82:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1787:66:1", | |
"nodeType": "YulAssignment", | |
"src": "1787:66:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1845:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1845:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1827:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1827:17:1" | |
}, | |
"nativeSrc": "1827:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1827:24:1" | |
} | |
], | |
"functionName": { | |
"name": "identity", | |
"nativeSrc": "1818:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1818:8:1" | |
}, | |
"nativeSrc": "1818:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1818:34:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1800:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1800:17:1" | |
}, | |
"nativeSrc": "1800:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1800:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "1787:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1787:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "1717:142:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1757:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1757:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "1767:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1767:9:1", | |
"type": "" | |
} | |
], | |
"src": "1717:142:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1912:28:1", | |
"nodeType": "YulBlock", | |
"src": "1912:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1922:12:1", | |
"nodeType": "YulAssignment", | |
"src": "1922:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1929:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1929:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1922:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1922:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "1865:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1898:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1898:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1908:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1908:3:1", | |
"type": "" | |
} | |
], | |
"src": "1865:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2022:193:1", | |
"nodeType": "YulBlock", | |
"src": "2022:193:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2032:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2032:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value_0", | |
"nativeSrc": "2087:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2087:7:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "2056:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "2056:30:1" | |
}, | |
"nativeSrc": "2056:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2056:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "2036:16:1", | |
"nodeType": "YulTypedName", | |
"src": "2036:16:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2111:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2111:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2151:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2151:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "2145:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2145:5:1" | |
}, | |
"nativeSrc": "2145:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2145:11:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2158:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2158:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "2190:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2190:16:1" | |
} | |
], | |
"functionName": { | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "2166:23:1", | |
"nodeType": "YulIdentifier", | |
"src": "2166:23:1" | |
}, | |
"nativeSrc": "2166:41:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2166:41:1" | |
} | |
], | |
"functionName": { | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "2117:27:1", | |
"nodeType": "YulIdentifier", | |
"src": "2117:27:1" | |
}, | |
"nativeSrc": "2117:91:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2117:91:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "2104:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2104:6:1" | |
}, | |
"nativeSrc": "2104:105:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2104:105:1" | |
}, | |
"nativeSrc": "2104:105:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2104:105:1" | |
} | |
] | |
}, | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "1946:269:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "1999:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1999:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2005:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2005:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value_0", | |
"nativeSrc": "2013:7:1", | |
"nodeType": "YulTypedName", | |
"src": "2013:7:1", | |
"type": "" | |
} | |
], | |
"src": "1946:269:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2270:24:1", | |
"nodeType": "YulBlock", | |
"src": "2270:24:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2280:8:1", | |
"nodeType": "YulAssignment", | |
"src": "2280:8:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "2287:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2287:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "2280:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2280:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "2221:73:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "2266:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2266:3:1", | |
"type": "" | |
} | |
], | |
"src": "2221:73:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2353:136:1", | |
"nodeType": "YulBlock", | |
"src": "2353:136:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2363:46:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2363:46:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "2377:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "2377:30:1" | |
}, | |
"nativeSrc": "2377:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2377:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "zero_0", | |
"nativeSrc": "2367:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2367:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2462:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2462:4:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2468:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2468:6:1" | |
}, | |
{ | |
"name": "zero_0", | |
"nativeSrc": "2476:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2476:6:1" | |
} | |
], | |
"functionName": { | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "2418:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "2418:43:1" | |
}, | |
"nativeSrc": "2418:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2418:65:1" | |
}, | |
"nativeSrc": "2418:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2418:65:1" | |
} | |
] | |
}, | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "2300:189:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2339:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2339:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2345:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2345:6:1", | |
"type": "" | |
} | |
], | |
"src": "2300:189:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2545:136:1", | |
"nodeType": "YulBlock", | |
"src": "2545:136:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2612:63:1", | |
"nodeType": "YulBlock", | |
"src": "2612:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2656:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2656:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2663:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2663:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "2626:29:1", | |
"nodeType": "YulIdentifier", | |
"src": "2626:29:1" | |
}, | |
"nativeSrc": "2626:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2626:39:1" | |
}, | |
"nativeSrc": "2626:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2626:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2565:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2565:5:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "2572:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2572:3:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "2562:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2562:2:1" | |
}, | |
"nativeSrc": "2562:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2562:14:1" | |
}, | |
"nativeSrc": "2555:120:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "2577:26:1", | |
"nodeType": "YulBlock", | |
"src": "2577:26:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2579:22:1", | |
"nodeType": "YulAssignment", | |
"src": "2579:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2592:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2592:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2599:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2599:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2588:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2588:3:1" | |
}, | |
"nativeSrc": "2588:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2588:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2579:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2579:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "2559:2:1", | |
"nodeType": "YulBlock", | |
"src": "2559:2:1", | |
"statements": [] | |
}, | |
"src": "2555:120:1" | |
} | |
] | |
}, | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "2495:186:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2533:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2533:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "2540:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2540:3:1", | |
"type": "" | |
} | |
], | |
"src": "2495:186:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2766:464:1", | |
"nodeType": "YulBlock", | |
"src": "2766:464:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2792:431:1", | |
"nodeType": "YulBlock", | |
"src": "2792:431:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2806:54:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2806:54:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2854:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2854:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "2822:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "2822:31:1" | |
}, | |
"nativeSrc": "2822:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2822:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "2810:8:1", | |
"nodeType": "YulTypedName", | |
"src": "2810:8:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2873:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2873:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "2896:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "2896:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "2924:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2924:10:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "2906:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "2906:17:1" | |
}, | |
"nativeSrc": "2906:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2906:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2892:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2892:3:1" | |
}, | |
"nativeSrc": "2892:44:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2892:44:1" | |
}, | |
"variables": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "2877:11:1", | |
"nodeType": "YulTypedName", | |
"src": "2877:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3093:27:1", | |
"nodeType": "YulBlock", | |
"src": "3093:27:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3095:23:1", | |
"nodeType": "YulAssignment", | |
"src": "3095:23:1", | |
"value": { | |
"name": "dataArea", | |
"nativeSrc": "3110:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "3110:8:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "3095:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "3095:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "3077:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "3077:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3089:2:1", | |
"nodeType": "YulLiteral", | |
"src": "3089:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "3074:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3074:2:1" | |
}, | |
"nativeSrc": "3074:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3074:18:1" | |
}, | |
"nativeSrc": "3071:49:1", | |
"nodeType": "YulIf", | |
"src": "3071:49:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "3162:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "3162:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "3179:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "3179:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "3207:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3207:3:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "3189:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "3189:17:1" | |
}, | |
"nativeSrc": "3189:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3189:22:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3175:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3175:3:1" | |
}, | |
"nativeSrc": "3175:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3175:37:1" | |
} | |
], | |
"functionName": { | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "3133:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "3133:28:1" | |
}, | |
"nativeSrc": "3133:80:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3133:80:1" | |
}, | |
"nativeSrc": "3133:80:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3133:80:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "2783:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2783:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2788:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2788:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2780:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2780:2:1" | |
}, | |
"nativeSrc": "2780:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2780:11:1" | |
}, | |
"nativeSrc": "2777:446:1", | |
"nodeType": "YulIf", | |
"src": "2777:446:1" | |
} | |
] | |
}, | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "2687:543:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2742:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2742:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "2749:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2749:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "startIndex", | |
"nativeSrc": "2754:10:1", | |
"nodeType": "YulTypedName", | |
"src": "2754:10:1", | |
"type": "" | |
} | |
], | |
"src": "2687:543:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3299:54:1", | |
"nodeType": "YulBlock", | |
"src": "3299:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3309:37:1", | |
"nodeType": "YulAssignment", | |
"src": "3309:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "3334:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3334:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "3340:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3340:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shr", | |
"nativeSrc": "3330:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3330:3:1" | |
}, | |
"nativeSrc": "3330:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3330:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "3309:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "3309:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "3236:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "3274:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3274:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "3280:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3280:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "3290:8:1", | |
"nodeType": "YulTypedName", | |
"src": "3290:8:1", | |
"type": "" | |
} | |
], | |
"src": "3236:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3410:118:1", | |
"nodeType": "YulBlock", | |
"src": "3410:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3420:68:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3420:68:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "3469:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3469:1:1", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "3472:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3472:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "3465:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3465:3:1" | |
}, | |
"nativeSrc": "3465:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3465:13:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "3484:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3484:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "3480:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3480:3:1" | |
}, | |
"nativeSrc": "3480:6:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3480:6:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "3436:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "3436:28:1" | |
}, | |
"nativeSrc": "3436:51:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3436:51:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "3432:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3432:3:1" | |
}, | |
"nativeSrc": "3432:56:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3432:56:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "3424:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3424:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3497:25:1", | |
"nodeType": "YulAssignment", | |
"src": "3497:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3511:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3511:4:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "3517:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3517:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "3507:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3507:3:1" | |
}, | |
"nativeSrc": "3507:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3507:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "3497:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3497:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "3359:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3387:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3387:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "3393:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3393:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "3403:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3403:6:1", | |
"type": "" | |
} | |
], | |
"src": "3359:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3614:214:1", | |
"nodeType": "YulBlock", | |
"src": "3614:214:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3747:37:1", | |
"nodeType": "YulAssignment", | |
"src": "3747:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3774:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3774:4:1" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "3780:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3780:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "3755:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "3755:18:1" | |
}, | |
"nativeSrc": "3755:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3755:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3747:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3747:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3793:29:1", | |
"nodeType": "YulAssignment", | |
"src": "3793:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3804:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3804:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "3814:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3814:1:1", | |
"type": "", | |
"value": "2" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "3817:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3817:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "3810:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3810:3:1" | |
}, | |
"nativeSrc": "3810:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3810:11:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "3801:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3801:2:1" | |
}, | |
"nativeSrc": "3801:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3801:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "used", | |
"nativeSrc": "3793:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3793:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "3533:295:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3595:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3595:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "3601:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3601:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "used", | |
"nativeSrc": "3609:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3609:4:1", | |
"type": "" | |
} | |
], | |
"src": "3533:295:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3925:1303:1", | |
"nodeType": "YulBlock", | |
"src": "3925:1303:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3936:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3936:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3983:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3983:3:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "3950:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "3950:32:1" | |
}, | |
"nativeSrc": "3950:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3950:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "3940:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3940:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4072:22:1", | |
"nodeType": "YulBlock", | |
"src": "4072:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "4074:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "4074:16:1" | |
}, | |
"nativeSrc": "4074:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4074:18:1" | |
}, | |
"nativeSrc": "4074:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4074:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4044:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4044:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4052:18:1", | |
"nodeType": "YulLiteral", | |
"src": "4052:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "4041:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4041:2:1" | |
}, | |
"nativeSrc": "4041:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4041:30:1" | |
}, | |
"nativeSrc": "4038:56:1", | |
"nodeType": "YulIf", | |
"src": "4038:56:1" | |
}, | |
{ | |
"nativeSrc": "4104:52:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4104:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4150:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4150:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "4144:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4144:5:1" | |
}, | |
"nativeSrc": "4144:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4144:11:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_byte_array_length", | |
"nativeSrc": "4118:25:1", | |
"nodeType": "YulIdentifier", | |
"src": "4118:25:1" | |
}, | |
"nativeSrc": "4118:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4118:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "oldLen", | |
"nativeSrc": "4108:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4108:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4249:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4249:4:1" | |
}, | |
{ | |
"name": "oldLen", | |
"nativeSrc": "4255:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4255:6:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "4263:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4263:6:1" | |
} | |
], | |
"functionName": { | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "4203:45:1", | |
"nodeType": "YulIdentifier", | |
"src": "4203:45:1" | |
}, | |
"nativeSrc": "4203:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4203:67:1" | |
}, | |
"nativeSrc": "4203:67:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4203:67:1" | |
}, | |
{ | |
"nativeSrc": "4280:18:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4280:18:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4297:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4297:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4284:9:1", | |
"nodeType": "YulTypedName", | |
"src": "4284:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4308:17:1", | |
"nodeType": "YulAssignment", | |
"src": "4308:17:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4321:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4321:4:1", | |
"type": "", | |
"value": "0x20" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4308:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4308:9:1" | |
} | |
] | |
}, | |
{ | |
"cases": [ | |
{ | |
"body": { | |
"nativeSrc": "4372:611:1", | |
"nodeType": "YulBlock", | |
"src": "4372:611:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4386:37:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4386:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4405:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4405:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4417:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4417:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "4413:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4413:3:1" | |
}, | |
"nativeSrc": "4413:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4413:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4401:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4401:3:1" | |
}, | |
"nativeSrc": "4401:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4401:22:1" | |
}, | |
"variables": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "4390:7:1", | |
"nodeType": "YulTypedName", | |
"src": "4390:7:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4437:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4437:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4483:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4483:4:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "4451:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "4451:31:1" | |
}, | |
"nativeSrc": "4451:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4451:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4441:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4441:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4501:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4501:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4510:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4510:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4505:1:1", | |
"nodeType": "YulTypedName", | |
"src": "4505:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4569:163:1", | |
"nodeType": "YulBlock", | |
"src": "4569:163:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4594:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4594:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4612:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4612:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4617:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4617:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4608:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4608:3:1" | |
}, | |
"nativeSrc": "4608:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4608:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4602:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4602:5:1" | |
}, | |
"nativeSrc": "4602:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4602:26:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "4587:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4587:6:1" | |
}, | |
"nativeSrc": "4587:42:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4587:42:1" | |
}, | |
"nativeSrc": "4587:42:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4587:42:1" | |
}, | |
{ | |
"nativeSrc": "4646:24:1", | |
"nodeType": "YulAssignment", | |
"src": "4646:24:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4660:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4660:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4668:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4668:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4656:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4656:3:1" | |
}, | |
"nativeSrc": "4656:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4656:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4646:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4646:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4687:31:1", | |
"nodeType": "YulAssignment", | |
"src": "4687:31:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4704:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4704:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4715:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4715:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4700:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4700:3:1" | |
}, | |
"nativeSrc": "4700:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4700:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4687:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4687:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4535:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4535:1:1" | |
}, | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "4538:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4538:7:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4532:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4532:2:1" | |
}, | |
"nativeSrc": "4532:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4532:14:1" | |
}, | |
"nativeSrc": "4524:208:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "4547:21:1", | |
"nodeType": "YulBlock", | |
"src": "4547:21:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4549:17:1", | |
"nodeType": "YulAssignment", | |
"src": "4549:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4558:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4558:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4561:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4561:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4554:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4554:3:1" | |
}, | |
"nativeSrc": "4554:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4554:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4549:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4549:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "4528:3:1", | |
"nodeType": "YulBlock", | |
"src": "4528:3:1", | |
"statements": [] | |
}, | |
"src": "4524:208:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4768:156:1", | |
"nodeType": "YulBlock", | |
"src": "4768:156:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4786:43:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4786:43:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4813:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4813:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4818:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4818:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4809:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4809:3:1" | |
}, | |
"nativeSrc": "4809:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4809:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4803:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4803:5:1" | |
}, | |
"nativeSrc": "4803:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4803:26:1" | |
}, | |
"variables": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "4790:9:1", | |
"nodeType": "YulTypedName", | |
"src": "4790:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4853:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4853:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "4880:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4880:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4895:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4895:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4903:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4903:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4891:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4891:3:1" | |
}, | |
"nativeSrc": "4891:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4891:17:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "4861:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "4861:18:1" | |
}, | |
"nativeSrc": "4861:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4861:48:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "4846:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4846:6:1" | |
}, | |
"nativeSrc": "4846:64:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4846:64:1" | |
}, | |
"nativeSrc": "4846:64:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4846:64:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "4751:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4751:7:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "4760:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4760:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4748:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4748:2:1" | |
}, | |
"nativeSrc": "4748:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4748:19:1" | |
}, | |
"nativeSrc": "4745:179:1", | |
"nodeType": "YulIf", | |
"src": "4745:179:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4944:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4944:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4958:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4958:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4966:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4966:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "4954:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4954:3:1" | |
}, | |
"nativeSrc": "4954:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4954:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4970:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4970:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4950:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4950:3:1" | |
}, | |
"nativeSrc": "4950:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4950:22:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "4937:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4937:6:1" | |
}, | |
"nativeSrc": "4937:36:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4937:36:1" | |
}, | |
"nativeSrc": "4937:36:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4937:36:1" | |
} | |
] | |
}, | |
"nativeSrc": "4365:618:1", | |
"nodeType": "YulCase", | |
"src": "4365:618:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4370:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4370:1:1", | |
"type": "", | |
"value": "1" | |
} | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5000:222:1", | |
"nodeType": "YulBlock", | |
"src": "5000:222:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5014:14:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5014:14:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "5027:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5027:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5018:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5018:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5051:67:1", | |
"nodeType": "YulBlock", | |
"src": "5051:67:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5069:35:1", | |
"nodeType": "YulAssignment", | |
"src": "5069:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "5088:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5088:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "5093:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5093:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5084:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5084:3:1" | |
}, | |
"nativeSrc": "5084:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5084:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "5078:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5078:5:1" | |
}, | |
"nativeSrc": "5078:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5078:26:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5069:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5069:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"name": "newLen", | |
"nativeSrc": "5044:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5044:6:1" | |
}, | |
"nativeSrc": "5041:77:1", | |
"nodeType": "YulIf", | |
"src": "5041:77:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "5138:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5138:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5197:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5197:5:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "5204:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5204:6:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "5144:52:1", | |
"nodeType": "YulIdentifier", | |
"src": "5144:52:1" | |
}, | |
"nativeSrc": "5144:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5144:67:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "5131:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5131:6:1" | |
}, | |
"nativeSrc": "5131:81:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5131:81:1" | |
}, | |
"nativeSrc": "5131:81:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5131:81:1" | |
} | |
] | |
}, | |
"nativeSrc": "4992:230:1", | |
"nodeType": "YulCase", | |
"src": "4992:230:1", | |
"value": "default" | |
} | |
], | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4345:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4345:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4353:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4353:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "4342:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4342:2:1" | |
}, | |
"nativeSrc": "4342:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4342:14:1" | |
}, | |
"nativeSrc": "4335:887:1", | |
"nodeType": "YulSwitch", | |
"src": "4335:887:1" | |
} | |
] | |
}, | |
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
"nativeSrc": "3833:1395:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "3914:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3914:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "3920:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3920:3:1", | |
"type": "" | |
} | |
], | |
"src": "3833:1395:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60806040526040518060400160405280600281526020016040518060400160405280600781526020017f6a757374616c6b0000000000000000000000000000000000000000000000000081525081525060035f820151815f01556020820151816001019081620000709190620002ea565b5050503480156200007f575f80fd5b50620003ce565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200010257607f821691505b602082108103620001185762000117620000bd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200017c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200013f565b6200018886836200013f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001d2620001cc620001c684620001a0565b620001a9565b620001a0565b9050919050565b5f819050919050565b620001ed83620001b2565b62000205620001fc82620001d9565b8484546200014b565b825550505050565b5f90565b6200021b6200020d565b62000228818484620001e2565b505050565b5b818110156200024f57620002435f8262000211565b6001810190506200022e565b5050565b601f8211156200029e5762000268816200011e565b620002738462000130565b8101602085101562000283578190505b6200029b620002928562000130565b8301826200022d565b50505b505050565b5f82821c905092915050565b5f620002c05f1984600802620002a3565b1980831691505092915050565b5f620002da8383620002af565b9150826002028217905092915050565b620002f58262000086565b67ffffffffffffffff81111562000311576200031062000090565b5b6200031d8254620000ea565b6200032a82828562000253565b5f60209050601f83116001811462000360575f84156200034b578287015190505b620003578582620002cd565b865550620003c6565b601f19841662000370866200011e565b5f5b82811015620003995784890151825560018201915060208501945060208101905062000372565b86831015620003b95784890151620003b5601f891682620002af565b8355505b6001600288020188555050505b505050505050565b610a9780620003dc5f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c80636f760f41116100595780636f760f41146100fe57806377ec2b551461011a5780638bab8dd5146101395780639e7a13ad1461016957610086565b8063076ce4c61461008a5780632e64cec1146100a6578063471f7cdf146100c45780636057361d146100e2575b5f80fd5b6100a4600480360381019061009f9190610402565b61019a565b005b6100ae6101ab565b6040516100bb919061043c565b60405180910390f35b6100cc6101b3565b6040516100d9919061043c565b60405180910390f35b6100fc60048036038101906100f79190610402565b6101b8565b005b61011860048036038101906101139190610591565b6101c1565b005b610122610245565b604051610130929190610665565b60405180910390f35b610153600480360381019061014e9190610693565b6102dc565b604051610160919061043c565b60405180910390f35b610183600480360381019061017e9190610402565b610309565b604051610191929190610665565b60405180910390f35b6002816101a79190610707565b5050565b5f8054905090565b5f5481565b805f8190555050565b6001604051806040016040528083815260200184815250908060018154018082558091505060019003905f5260205f2090600202015f909190919091505f820151815f0155602082015181600101908161021b9190610942565b5050508060028360405161022f9190610a4b565b9081526020016040518091039020819055505050565b6003805f01549080600101805461025b90610775565b80601f016020809104026020016040519081016040528092919081815260200182805461028790610775565b80156102d25780601f106102a9576101008083540402835291602001916102d2565b820191905f5260205f20905b8154815290600101906020018083116102b557829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050505f915090505481565b60018181548110610318575f80fd5b905f5260205f2090600202015f91509050805f01549080600101805461033d90610775565b80601f016020809104026020016040519081016040528092919081815260200182805461036990610775565b80156103b45780601f1061038b576101008083540402835291602001916103b4565b820191905f5260205f20905b81548152906001019060200180831161039757829003601f168201915b5050505050905082565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6103e1816103cf565b81146103eb575f80fd5b50565b5f813590506103fc816103d8565b92915050565b5f60208284031215610417576104166103c7565b5b5f610424848285016103ee565b91505092915050565b610436816103cf565b82525050565b5f60208201905061044f5f83018461042d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6104a38261045d565b810181811067ffffffffffffffff821117156104c2576104c161046d565b5b80604052505050565b5f6104d46103be565b90506104e0828261049a565b919050565b5f67ffffffffffffffff8211156104ff576104fe61046d565b5b6105088261045d565b9050602081019050919050565b828183375f83830152505050565b5f610535610530846104e5565b6104cb565b90508281526020810184848401111561055157610550610459565b5b61055c848285610515565b509392505050565b5f82601f83011261057857610577610455565b5b8135610588848260208601610523565b91505092915050565b5f80604083850312156105a7576105a66103c7565b5b5f83013567ffffffffffffffff8111156105c4576105c36103cb565b5b6105d085828601610564565b92505060206105e1858286016103ee565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610622578082015181840152602081019050610607565b5f8484015250505050565b5f610637826105eb565b61064181856105f5565b9350610651818560208601610605565b61065a8161045d565b840191505092915050565b5f6040820190506106785f83018561042d565b818103602083015261068a818461062d565b90509392505050565b5f602082840312156106a8576106a76103c7565b5b5f82013567ffffffffffffffff8111156106c5576106c46103cb565b5b6106d184828501610564565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610711826103cf565b915061071c836103cf565b925082820261072a816103cf565b91508282048414831517610741576107406106da565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078c57607f821691505b60208210810361079f5761079e610748565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026108017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107c6565b61080b86836107c6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61084661084161083c846103cf565b610823565b6103cf565b9050919050565b5f819050919050565b61085f8361082c565b61087361086b8261084d565b8484546107d2565b825550505050565b5f90565b61088761087b565b610892818484610856565b505050565b5b818110156108b5576108aa5f8261087f565b600181019050610898565b5050565b601f8211156108fa576108cb816107a5565b6108d4846107b7565b810160208510156108e3578190505b6108f76108ef856107b7565b830182610897565b50505b505050565b5f82821c905092915050565b5f61091a5f19846008026108ff565b1980831691505092915050565b5f610932838361090b565b9150826002028217905092915050565b61094b826105eb565b67ffffffffffffffff8111156109645761096361046d565b5b61096e8254610775565b6109798282856108b9565b5f60209050601f8311600181146109aa575f8415610998578287015190505b6109a28582610927565b865550610a09565b601f1984166109b8866107a5565b5f5b828110156109df578489015182556001820191506020850194506020810190506109ba565b868310156109fc57848901516109f8601f89168261090b565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f610a25826105eb565b610a2f8185610a11565b9350610a3f818560208601610605565b80840191505092915050565b5f610a568284610a1b565b91508190509291505056fea26469706673582212200f03ba42004b1eefe9ea64f7afb0c253b5d9f8be439ea2c8f30e3e4aafacdc5b64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6A757374616C6B00000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x70 SWAP2 SWAP1 PUSH3 0x2EA JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH3 0x7F JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH3 0x3CE JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT 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 PUSH3 0x102 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x118 JUMPI PUSH3 0x117 PUSH3 0xBD 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 PUSH3 0x17C PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x13F JUMP JUMPDEST PUSH3 0x188 DUP7 DUP4 PUSH3 0x13F 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 PUSH3 0x1D2 PUSH3 0x1CC PUSH3 0x1C6 DUP5 PUSH3 0x1A0 JUMP JUMPDEST PUSH3 0x1A9 JUMP JUMPDEST PUSH3 0x1A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x1ED DUP4 PUSH3 0x1B2 JUMP JUMPDEST PUSH3 0x205 PUSH3 0x1FC DUP3 PUSH3 0x1D9 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x14B JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x21B PUSH3 0x20D JUMP JUMPDEST PUSH3 0x228 DUP2 DUP5 DUP5 PUSH3 0x1E2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x24F JUMPI PUSH3 0x243 PUSH0 DUP3 PUSH3 0x211 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x22E JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x29E JUMPI PUSH3 0x268 DUP2 PUSH3 0x11E JUMP JUMPDEST PUSH3 0x273 DUP5 PUSH3 0x130 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x283 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x29B PUSH3 0x292 DUP6 PUSH3 0x130 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x22D JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x2C0 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2A3 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x2DA DUP4 DUP4 PUSH3 0x2AF JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x2F5 DUP3 PUSH3 0x86 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x311 JUMPI PUSH3 0x310 PUSH3 0x90 JUMP JUMPDEST JUMPDEST PUSH3 0x31D DUP3 SLOAD PUSH3 0xEA JUMP JUMPDEST PUSH3 0x32A DUP3 DUP3 DUP6 PUSH3 0x253 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x360 JUMPI PUSH0 DUP5 ISZERO PUSH3 0x34B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x357 DUP6 DUP3 PUSH3 0x2CD JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x3C6 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x370 DUP7 PUSH3 0x11E JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x399 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x372 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x3B9 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x3B5 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x2AF JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xA97 DUP1 PUSH3 0x3DC 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 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6F760F41 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x169 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x76CE4C6 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0x471F7CDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x19A JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAE PUSH2 0x1AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBB SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x1B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x1B8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x118 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x113 SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x122 PUSH2 0x245 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP3 SWAP2 SWAP1 PUSH2 0x665 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x2DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP3 SWAP2 SWAP1 PUSH2 0x665 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 DUP2 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0x21B SWAP2 SWAP1 PUSH2 0x942 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP2 SWAP1 PUSH2 0xA4B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x25B SWAP1 PUSH2 0x775 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 0x287 SWAP1 PUSH2 0x775 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D2 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 0x2B5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x318 JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x33D SWAP1 PUSH2 0x775 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 0x369 SWAP1 PUSH2 0x775 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B4 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 0x397 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3E1 DUP2 PUSH2 0x3CF JUMP JUMPDEST DUP2 EQ PUSH2 0x3EB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3FC DUP2 PUSH2 0x3D8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x417 JUMPI PUSH2 0x416 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x424 DUP5 DUP3 DUP6 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x436 DUP2 PUSH2 0x3CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x44F PUSH0 DUP4 ADD DUP5 PUSH2 0x42D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x4A3 DUP3 PUSH2 0x45D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C2 JUMPI PUSH2 0x4C1 PUSH2 0x46D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x4D4 PUSH2 0x3BE JUMP JUMPDEST SWAP1 POP PUSH2 0x4E0 DUP3 DUP3 PUSH2 0x49A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4FF JUMPI PUSH2 0x4FE PUSH2 0x46D JUMP JUMPDEST JUMPDEST PUSH2 0x508 DUP3 PUSH2 0x45D 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 0x535 PUSH2 0x530 DUP5 PUSH2 0x4E5 JUMP JUMPDEST PUSH2 0x4CB JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x551 JUMPI PUSH2 0x550 PUSH2 0x459 JUMP JUMPDEST JUMPDEST PUSH2 0x55C DUP5 DUP3 DUP6 PUSH2 0x515 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x578 JUMPI PUSH2 0x577 PUSH2 0x455 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x588 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5A7 JUMPI PUSH2 0x5A6 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x5C3 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x5D0 DUP6 DUP3 DUP7 ADD PUSH2 0x564 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5E1 DUP6 DUP3 DUP7 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 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 0x622 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x607 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x637 DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0x641 DUP2 DUP6 PUSH2 0x5F5 JUMP JUMPDEST SWAP4 POP PUSH2 0x651 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x605 JUMP JUMPDEST PUSH2 0x65A DUP2 PUSH2 0x45D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x678 PUSH0 DUP4 ADD DUP6 PUSH2 0x42D JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x68A DUP2 DUP5 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A8 JUMPI PUSH2 0x6A7 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x6C5 JUMPI PUSH2 0x6C4 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x6D1 DUP5 DUP3 DUP6 ADD PUSH2 0x564 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x711 DUP3 PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP PUSH2 0x71C DUP4 PUSH2 0x3CF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x72A DUP2 PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x741 JUMPI PUSH2 0x740 PUSH2 0x6DA JUMP JUMPDEST JUMPDEST 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 0x78C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x79F JUMPI PUSH2 0x79E PUSH2 0x748 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 0x801 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x7C6 JUMP JUMPDEST PUSH2 0x80B DUP7 DUP4 PUSH2 0x7C6 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 PUSH2 0x846 PUSH2 0x841 PUSH2 0x83C DUP5 PUSH2 0x3CF JUMP JUMPDEST PUSH2 0x823 JUMP JUMPDEST PUSH2 0x3CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP4 PUSH2 0x82C JUMP JUMPDEST PUSH2 0x873 PUSH2 0x86B DUP3 PUSH2 0x84D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x7D2 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x87B JUMP JUMPDEST PUSH2 0x892 DUP2 DUP5 DUP5 PUSH2 0x856 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x8B5 JUMPI PUSH2 0x8AA PUSH0 DUP3 PUSH2 0x87F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x898 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x8FA JUMPI PUSH2 0x8CB DUP2 PUSH2 0x7A5 JUMP JUMPDEST PUSH2 0x8D4 DUP5 PUSH2 0x7B7 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x8E3 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x8F7 PUSH2 0x8EF DUP6 PUSH2 0x7B7 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x897 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x91A PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x8FF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x932 DUP4 DUP4 PUSH2 0x90B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x94B DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x964 JUMPI PUSH2 0x963 PUSH2 0x46D JUMP JUMPDEST JUMPDEST PUSH2 0x96E DUP3 SLOAD PUSH2 0x775 JUMP JUMPDEST PUSH2 0x979 DUP3 DUP3 DUP6 PUSH2 0x8B9 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x9AA JUMPI PUSH0 DUP5 ISZERO PUSH2 0x998 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x9A2 DUP6 DUP3 PUSH2 0x927 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0xA09 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x9B8 DUP7 PUSH2 0x7A5 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x9DF 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 0x9BA JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x9FC JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x9F8 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x90B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xA25 DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0xA2F DUP2 DUP6 PUSH2 0xA11 JUMP JUMPDEST SWAP4 POP PUSH2 0xA3F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x605 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xA56 DUP3 DUP5 PUSH2 0xA1B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF SUB 0xBA TIMESTAMP STOP 0x4B 0x1E 0xEF 0xE9 0xEA PUSH5 0xF7AFB0C253 0xB5 0xD9 0xF8 0xBE NUMBER SWAP15 LOG2 0xC8 RETURN 0xE RETURNDATACOPY 0x4A 0xAF 0xAC 0xDC JUMPDEST PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "68:960:0:-:0;;;336:69;;;;;;;;370:1;336:69;;;;;;;;;;;;;;;;;;;;;;;;313:92;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;68:960;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;68:960:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@addPerson_74": { | |
"entryPoint": 449, | |
"id": 74, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@calculAddition_51": { | |
"entryPoint": 410, | |
"id": 51, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@favoriteNumber_3": { | |
"entryPoint": 435, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@nameToFavoriteNumber_16": { | |
"entryPoint": 732, | |
"id": 16, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@people_12": { | |
"entryPoint": 777, | |
"id": 12, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@person_23": { | |
"entryPoint": 581, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@retrieve_41": { | |
"entryPoint": 427, | |
"id": 41, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@store_33": { | |
"entryPoint": 440, | |
"id": 33, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_string_memory_ptr": { | |
"entryPoint": 1315, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_string_memory_ptr": { | |
"entryPoint": 1380, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1006, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptr": { | |
"entryPoint": 1683, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptrt_uint256": { | |
"entryPoint": 1425, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 1026, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1581, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 2587, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 1069, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 2635, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 1084, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1637, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 1227, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 958, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_string_memory_ptr": { | |
"entryPoint": 1253, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_string_storage": { | |
"entryPoint": 1957, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 1515, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1525, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 2577, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_uint256": { | |
"entryPoint": 1799, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"clean_up_bytearray_end_slots_t_string_storage": { | |
"entryPoint": 2233, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 975, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clear_storage_range_t_bytes1": { | |
"entryPoint": 2199, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"convert_t_uint256_to_t_uint256": { | |
"entryPoint": 2092, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
"entryPoint": 2370, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"copy_calldata_to_memory_with_cleanup": { | |
"entryPoint": 1301, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 1541, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"divide_by_32_ceil": { | |
"entryPoint": 1975, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 1909, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_used_part_and_set_length_of_short_byte_array": { | |
"entryPoint": 2343, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 1178, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"identity": { | |
"entryPoint": 2083, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mask_bytes_dynamic": { | |
"entryPoint": 2315, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 1754, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 1864, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 1133, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"prepare_store_t_uint256": { | |
"entryPoint": 2125, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 1109, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 1113, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 971, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 967, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 1117, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"shift_left_dynamic": { | |
"entryPoint": 1990, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"shift_right_unsigned_dynamic": { | |
"entryPoint": 2303, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"storage_set_to_zero_t_uint256": { | |
"entryPoint": 2175, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"update_byte_slice_dynamic32": { | |
"entryPoint": 2002, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"update_storage_value_t_uint256_to_t_uint256": { | |
"entryPoint": 2134, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 984, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"zero_value_for_split_t_uint256": { | |
"entryPoint": 2171, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:12398:1", | |
"nodeType": "YulBlock", | |
"src": "0:12398:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "47:35:1", | |
"nodeType": "YulBlock", | |
"src": "47:35:1", | |
"statements": [ | |
{ | |
"nativeSrc": "57:19:1", | |
"nodeType": "YulAssignment", | |
"src": "57:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "73:2:1", | |
"nodeType": "YulLiteral", | |
"src": "73:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "67:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:1" | |
}, | |
"nativeSrc": "67:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "57:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nativeSrc": "7:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "40:6:1", | |
"nodeType": "YulTypedName", | |
"src": "40:6:1", | |
"type": "" | |
} | |
], | |
"src": "7:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "177:28:1", | |
"nodeType": "YulBlock", | |
"src": "177:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "194:1:1", | |
"nodeType": "YulLiteral", | |
"src": "194:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "197:1:1", | |
"nodeType": "YulLiteral", | |
"src": "197:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "187:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:1" | |
}, | |
"nativeSrc": "187:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:1" | |
}, | |
"nativeSrc": "187:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "88:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "300:28:1", | |
"nodeType": "YulBlock", | |
"src": "300:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "317:1:1", | |
"nodeType": "YulLiteral", | |
"src": "317:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "320:1:1", | |
"nodeType": "YulLiteral", | |
"src": "320:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "310:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:1" | |
}, | |
"nativeSrc": "310:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:1" | |
}, | |
"nativeSrc": "310:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "211:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "379:32:1", | |
"nodeType": "YulBlock", | |
"src": "379:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "389:16:1", | |
"nodeType": "YulAssignment", | |
"src": "389:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "400:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "400:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "389:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "389:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "334:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "361:5:1", | |
"nodeType": "YulTypedName", | |
"src": "361:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "371:7:1", | |
"nodeType": "YulTypedName", | |
"src": "371:7:1", | |
"type": "" | |
} | |
], | |
"src": "334:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "460:79:1", | |
"nodeType": "YulBlock", | |
"src": "460:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "517:16:1", | |
"nodeType": "YulBlock", | |
"src": "517:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "526:1:1", | |
"nodeType": "YulLiteral", | |
"src": "526:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "529:1:1", | |
"nodeType": "YulLiteral", | |
"src": "529:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "519:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "519:6:1" | |
}, | |
"nativeSrc": "519:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "519:12:1" | |
}, | |
"nativeSrc": "519:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "519:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "483:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "483:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "508:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "508:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "490:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "490:17:1" | |
}, | |
"nativeSrc": "490:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "490:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "480:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "480:2:1" | |
}, | |
"nativeSrc": "480:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "480:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "473:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "473:6:1" | |
}, | |
"nativeSrc": "473:43:1", | |
"nodeType": "YulFunctionCall", | |
"src": "473:43:1" | |
}, | |
"nativeSrc": "470:63:1", | |
"nodeType": "YulIf", | |
"src": "470:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "417:122:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "453:5:1", | |
"nodeType": "YulTypedName", | |
"src": "453:5:1", | |
"type": "" | |
} | |
], | |
"src": "417:122:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "597:87:1", | |
"nodeType": "YulBlock", | |
"src": "597:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "607:29:1", | |
"nodeType": "YulAssignment", | |
"src": "607:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "629:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "629:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "616:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "616:12:1" | |
}, | |
"nativeSrc": "616:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "616:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "607:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "607:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "672:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "672:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "645:26:1", | |
"nodeType": "YulIdentifier", | |
"src": "645:26:1" | |
}, | |
"nativeSrc": "645:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "645:33:1" | |
}, | |
"nativeSrc": "645:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "645:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "545:139:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "575:6:1", | |
"nodeType": "YulTypedName", | |
"src": "575:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "583:3:1", | |
"nodeType": "YulTypedName", | |
"src": "583:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "591:5:1", | |
"nodeType": "YulTypedName", | |
"src": "591:5:1", | |
"type": "" | |
} | |
], | |
"src": "545:139:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "756:263:1", | |
"nodeType": "YulBlock", | |
"src": "756:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "802:83:1", | |
"nodeType": "YulBlock", | |
"src": "802:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "804:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "804:77:1" | |
}, | |
"nativeSrc": "804:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "804:79:1" | |
}, | |
"nativeSrc": "804:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "804:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "777:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "777:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "786:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "786:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "773:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "773:3:1" | |
}, | |
"nativeSrc": "773:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "773:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "798:2:1", | |
"nodeType": "YulLiteral", | |
"src": "798:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "769:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "769:3:1" | |
}, | |
"nativeSrc": "769:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "769:32:1" | |
}, | |
"nativeSrc": "766:119:1", | |
"nodeType": "YulIf", | |
"src": "766:119:1" | |
}, | |
{ | |
"nativeSrc": "895:117:1", | |
"nodeType": "YulBlock", | |
"src": "895:117:1", | |
"statements": [ | |
{ | |
"nativeSrc": "910:15:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "910:15:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "924:1:1", | |
"nodeType": "YulLiteral", | |
"src": "924:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "914:6:1", | |
"nodeType": "YulTypedName", | |
"src": "914:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "939:63:1", | |
"nodeType": "YulAssignment", | |
"src": "939:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "974:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "985:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "985:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "970:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nativeSrc": "970:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "970:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "994:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "994:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "949:20:1", | |
"nodeType": "YulIdentifier", | |
"src": "949:20:1" | |
}, | |
"nativeSrc": "949:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "949:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "939:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "939:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nativeSrc": "690:329:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "726:9:1", | |
"nodeType": "YulTypedName", | |
"src": "726:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "737:7:1", | |
"nodeType": "YulTypedName", | |
"src": "737:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "749:6:1", | |
"nodeType": "YulTypedName", | |
"src": "749:6:1", | |
"type": "" | |
} | |
], | |
"src": "690:329:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1090:53:1", | |
"nodeType": "YulBlock", | |
"src": "1090:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "1107:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1107:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1130:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1130:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1112:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1112:17:1" | |
}, | |
"nativeSrc": "1112:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1112:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1100:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1100:6:1" | |
}, | |
"nativeSrc": "1100:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1100:37:1" | |
}, | |
"nativeSrc": "1100:37:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1100:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nativeSrc": "1025:118:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1078:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1078:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "1085:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1085:3:1", | |
"type": "" | |
} | |
], | |
"src": "1025:118:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1247:124:1", | |
"nodeType": "YulBlock", | |
"src": "1247:124:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1257:26:1", | |
"nodeType": "YulAssignment", | |
"src": "1257:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1269:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1269:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1280:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1280:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1265:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1265:3:1" | |
}, | |
"nativeSrc": "1265:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1265:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1257:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1257:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "1337:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1337:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1350:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1350:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1361:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1361:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1346:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1346:3:1" | |
}, | |
"nativeSrc": "1346:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1346:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nativeSrc": "1293:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "1293:43:1" | |
}, | |
"nativeSrc": "1293:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1293:71:1" | |
}, | |
"nativeSrc": "1293:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1293:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nativeSrc": "1149:222:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1219:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1219:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "1231:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1231:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1242:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1242:4:1", | |
"type": "" | |
} | |
], | |
"src": "1149:222:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1466:28:1", | |
"nodeType": "YulBlock", | |
"src": "1466:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1483:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1483:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1486:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1486:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1476:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1476:6:1" | |
}, | |
"nativeSrc": "1476:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1476:12:1" | |
}, | |
"nativeSrc": "1476:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1476:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "1377:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1377:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1589:28:1", | |
"nodeType": "YulBlock", | |
"src": "1589:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1606:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1606:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1609:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1609:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1599:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1599:6:1" | |
}, | |
"nativeSrc": "1599:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1599:12:1" | |
}, | |
"nativeSrc": "1599:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1599:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "1500:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1500:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1671:54:1", | |
"nodeType": "YulBlock", | |
"src": "1671:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1681:38:1", | |
"nodeType": "YulAssignment", | |
"src": "1681:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1699:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1699:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1706:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1706:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1695:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1695:3:1" | |
}, | |
"nativeSrc": "1695:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1695:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1715:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1715:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "1711:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1711:3:1" | |
}, | |
"nativeSrc": "1711:7:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1711:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "1691:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1691:3:1" | |
}, | |
"nativeSrc": "1691:28:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1691:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1681:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1681:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "1623:102:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1654:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1654:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1664:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1664:6:1", | |
"type": "" | |
} | |
], | |
"src": "1623:102:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1759:152:1", | |
"nodeType": "YulBlock", | |
"src": "1759:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1776:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1776:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1779:77:1", | |
"nodeType": "YulLiteral", | |
"src": "1779:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1769:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1769:6:1" | |
}, | |
"nativeSrc": "1769:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1769:88:1" | |
}, | |
"nativeSrc": "1769:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1769:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1873:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1873:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1876:4:1", | |
"nodeType": "YulLiteral", | |
"src": "1876:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1866:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1866:6:1" | |
}, | |
"nativeSrc": "1866:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1866:15:1" | |
}, | |
"nativeSrc": "1866:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1866:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1897:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1897:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1900:4:1", | |
"nodeType": "YulLiteral", | |
"src": "1900:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1890:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1890:6:1" | |
}, | |
"nativeSrc": "1890:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1890:15:1" | |
}, | |
"nativeSrc": "1890:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1890:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nativeSrc": "1731:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1731:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1960:238:1", | |
"nodeType": "YulBlock", | |
"src": "1960:238:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1970:58:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "1970:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1992:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1992:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2022:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2022:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2000:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2000:21:1" | |
}, | |
"nativeSrc": "2000:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2000:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1988:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1988:3:1" | |
}, | |
"nativeSrc": "1988:40:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1988:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "1974:10:1", | |
"nodeType": "YulTypedName", | |
"src": "1974:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2139:22:1", | |
"nodeType": "YulBlock", | |
"src": "2139:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2141:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2141:16:1" | |
}, | |
"nativeSrc": "2141:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2141:18:1" | |
}, | |
"nativeSrc": "2141:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2141:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2082:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2082:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2094:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2094:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2079:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2079:2:1" | |
}, | |
"nativeSrc": "2079:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2079:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2118:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2118:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2130:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2130:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "2115:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2115:2:1" | |
}, | |
"nativeSrc": "2115:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2115:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "2076:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2076:2:1" | |
}, | |
"nativeSrc": "2076:62:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2076:62:1" | |
}, | |
"nativeSrc": "2073:88:1", | |
"nodeType": "YulIf", | |
"src": "2073:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2177:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2177:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2181:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2181:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2170:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2170:6:1" | |
}, | |
"nativeSrc": "2170:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2170:22:1" | |
}, | |
"nativeSrc": "2170:22:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2170:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nativeSrc": "1917:281:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1946:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1946:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "1954:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1954:4:1", | |
"type": "" | |
} | |
], | |
"src": "1917:281:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2245:88:1", | |
"nodeType": "YulBlock", | |
"src": "2245:88:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2255:30:1", | |
"nodeType": "YulAssignment", | |
"src": "2255:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nativeSrc": "2265:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "2265:18:1" | |
}, | |
"nativeSrc": "2265:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2265:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2255:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2255:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2314:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2314:6:1" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "2322:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2322:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nativeSrc": "2294:19:1", | |
"nodeType": "YulIdentifier", | |
"src": "2294:19:1" | |
}, | |
"nativeSrc": "2294:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2294:33:1" | |
}, | |
"nativeSrc": "2294:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2294:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nativeSrc": "2204:129:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2229:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2229:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2238:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2238:6:1", | |
"type": "" | |
} | |
], | |
"src": "2204:129:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2406:241:1", | |
"nodeType": "YulBlock", | |
"src": "2406:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2511:22:1", | |
"nodeType": "YulBlock", | |
"src": "2511:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2513:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2513:16:1" | |
}, | |
"nativeSrc": "2513:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2513:18:1" | |
}, | |
"nativeSrc": "2513:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2513:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2483:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2483:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2491:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2491:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2480:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2480:2:1" | |
}, | |
"nativeSrc": "2480:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2480:30:1" | |
}, | |
"nativeSrc": "2477:56:1", | |
"nodeType": "YulIf", | |
"src": "2477:56:1" | |
}, | |
{ | |
"nativeSrc": "2543:37:1", | |
"nodeType": "YulAssignment", | |
"src": "2543:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2573:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2573:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2551:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2551:21:1" | |
}, | |
"nativeSrc": "2551:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2551:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2543:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2543:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2617:23:1", | |
"nodeType": "YulAssignment", | |
"src": "2617:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2629:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2629:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2635:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2635:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2625:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2625:3:1" | |
}, | |
"nativeSrc": "2625:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2625:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2617:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2617:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "2339:308:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2390:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2390:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2401:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2401:4:1", | |
"type": "" | |
} | |
], | |
"src": "2339:308:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2717:82:1", | |
"nodeType": "YulBlock", | |
"src": "2717:82:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2740:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2740:3:1" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "2745:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2745:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2750:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2750:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nativeSrc": "2727:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "2727:12:1" | |
}, | |
"nativeSrc": "2727:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2727:30:1" | |
}, | |
"nativeSrc": "2727:30:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2727:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2777:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2777:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2782:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2782:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2773:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2773:3:1" | |
}, | |
"nativeSrc": "2773:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2773:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2791:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2791:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2766:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2766:6:1" | |
}, | |
"nativeSrc": "2766:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2766:27:1" | |
}, | |
"nativeSrc": "2766:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2766:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "2653:146:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "2699:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2699:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "2704:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2704:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2709:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2709:6:1", | |
"type": "" | |
} | |
], | |
"src": "2653:146:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2889:341:1", | |
"nodeType": "YulBlock", | |
"src": "2889:341:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2899:75:1", | |
"nodeType": "YulAssignment", | |
"src": "2899:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2966:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2966:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "2924:41:1", | |
"nodeType": "YulIdentifier", | |
"src": "2924:41:1" | |
}, | |
"nativeSrc": "2924:49:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2924:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nativeSrc": "2908:15:1", | |
"nodeType": "YulIdentifier", | |
"src": "2908:15:1" | |
}, | |
"nativeSrc": "2908:66:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2908:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2899:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2899:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2990:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2990:5:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2997:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2997:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2983:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2983:6:1" | |
}, | |
"nativeSrc": "2983:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2983:21:1" | |
}, | |
"nativeSrc": "2983:21:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2983:21:1" | |
}, | |
{ | |
"nativeSrc": "3013:27:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3013:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3028:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3028:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3035:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3035:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3024:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3024:3:1" | |
}, | |
"nativeSrc": "3024:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3024:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "3017:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3017:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3078:83:1", | |
"nodeType": "YulBlock", | |
"src": "3078:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "3080:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3080:77:1" | |
}, | |
"nativeSrc": "3080:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3080:79:1" | |
}, | |
"nativeSrc": "3080:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3080:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3059:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3059:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3064:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3064:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3055:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3055:3:1" | |
}, | |
"nativeSrc": "3055:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3055:16:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3073:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3073:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "3052:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3052:2:1" | |
}, | |
"nativeSrc": "3052:25:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3052:25:1" | |
}, | |
"nativeSrc": "3049:112:1", | |
"nodeType": "YulIf", | |
"src": "3049:112:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3207:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3207:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "3212:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3212:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3217:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3217:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "3170:36:1", | |
"nodeType": "YulIdentifier", | |
"src": "3170:36:1" | |
}, | |
"nativeSrc": "3170:54:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3170:54:1" | |
}, | |
"nativeSrc": "3170:54:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3170:54:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "2805:425:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "2862:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2862:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2867:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2867:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "2875:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2875:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2883:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2883:5:1", | |
"type": "" | |
} | |
], | |
"src": "2805:425:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3312:278:1", | |
"nodeType": "YulBlock", | |
"src": "3312:278:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3361:83:1", | |
"nodeType": "YulBlock", | |
"src": "3361:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "3363:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3363:77:1" | |
}, | |
"nativeSrc": "3363:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3363:79:1" | |
}, | |
"nativeSrc": "3363:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3363:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3340:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3340:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3348:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3348:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3336:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3336:3:1" | |
}, | |
"nativeSrc": "3336:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3336:17:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3355:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3355:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3332:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3332:3:1" | |
}, | |
"nativeSrc": "3332:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3332:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "3325:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3325:6:1" | |
}, | |
"nativeSrc": "3325:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3325:35:1" | |
}, | |
"nativeSrc": "3322:122:1", | |
"nodeType": "YulIf", | |
"src": "3322:122:1" | |
}, | |
{ | |
"nativeSrc": "3453:34:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3453:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3480:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3480:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "3467:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "3467:12:1" | |
}, | |
"nativeSrc": "3467:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3467:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "3457:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3457:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3496:88:1", | |
"nodeType": "YulAssignment", | |
"src": "3496:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3557:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3557:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3565:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3565:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3553:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3553:3:1" | |
}, | |
"nativeSrc": "3553:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3553:17:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3572:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3572:6:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3580:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3580:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "3505:47:1", | |
"nodeType": "YulIdentifier", | |
"src": "3505:47:1" | |
}, | |
"nativeSrc": "3505:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3505:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3496:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3496:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "3250:340:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3290:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3290:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3298:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3298:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3306:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3306:5:1", | |
"type": "" | |
} | |
], | |
"src": "3250:340:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3689:561:1", | |
"nodeType": "YulBlock", | |
"src": "3689:561:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3735:83:1", | |
"nodeType": "YulBlock", | |
"src": "3735:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "3737:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3737:77:1" | |
}, | |
"nativeSrc": "3737:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3737:79:1" | |
}, | |
"nativeSrc": "3737:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3737:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3710:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "3710:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "3719:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "3719:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "3706:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3706:3:1" | |
}, | |
"nativeSrc": "3706:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3706:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3731:2:1", | |
"nodeType": "YulLiteral", | |
"src": "3731:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3702:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3702:3:1" | |
}, | |
"nativeSrc": "3702:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3702:32:1" | |
}, | |
"nativeSrc": "3699:119:1", | |
"nodeType": "YulIf", | |
"src": "3699:119:1" | |
}, | |
{ | |
"nativeSrc": "3828:287:1", | |
"nodeType": "YulBlock", | |
"src": "3828:287:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3843:45:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3843:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "3874:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "3874:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3885:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3885:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3870:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3870:3:1" | |
}, | |
"nativeSrc": "3870:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3870:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "3857:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "3857:12:1" | |
}, | |
"nativeSrc": "3857:31:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3857:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3847:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3847:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3935:83:1", | |
"nodeType": "YulBlock", | |
"src": "3935:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "3937:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3937:77:1" | |
}, | |
"nativeSrc": "3937:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3937:79:1" | |
}, | |
"nativeSrc": "3937:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3937:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3907:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3907:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3915:18:1", | |
"nodeType": "YulLiteral", | |
"src": "3915:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "3904:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3904:2:1" | |
}, | |
"nativeSrc": "3904:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3904:30:1" | |
}, | |
"nativeSrc": "3901:117:1", | |
"nodeType": "YulIf", | |
"src": "3901:117:1" | |
}, | |
{ | |
"nativeSrc": "4032:73:1", | |
"nodeType": "YulAssignment", | |
"src": "4032:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4077:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4077:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "4088:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4088:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4073:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4073:3:1" | |
}, | |
"nativeSrc": "4073:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4073:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "4097:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4097:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "4042:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "4042:30:1" | |
}, | |
"nativeSrc": "4042:63:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4042:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "4032:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4032:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4125:118:1", | |
"nodeType": "YulBlock", | |
"src": "4125:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4140:16:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4140:16:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4154:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4154:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "4144:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4144:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4170:63:1", | |
"nodeType": "YulAssignment", | |
"src": "4170:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4205:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4205:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "4216:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4216:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4201:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4201:3:1" | |
}, | |
"nativeSrc": "4201:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4201:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "4225:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4225:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "4180:20:1", | |
"nodeType": "YulIdentifier", | |
"src": "4180:20:1" | |
}, | |
"nativeSrc": "4180:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4180:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nativeSrc": "4170:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4170:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256", | |
"nativeSrc": "3596:654:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "3651:9:1", | |
"nodeType": "YulTypedName", | |
"src": "3651:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3662:7:1", | |
"nodeType": "YulTypedName", | |
"src": "3662:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "3674:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3674:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nativeSrc": "3682:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3682:6:1", | |
"type": "" | |
} | |
], | |
"src": "3596:654:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4315:40:1", | |
"nodeType": "YulBlock", | |
"src": "4315:40:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4326:22:1", | |
"nodeType": "YulAssignment", | |
"src": "4326:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4342:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4342:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4336:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4336:5:1" | |
}, | |
"nativeSrc": "4336:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4336:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4326:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4326:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "4256:99:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4298:5:1", | |
"nodeType": "YulTypedName", | |
"src": "4298:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4308:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4308:6:1", | |
"type": "" | |
} | |
], | |
"src": "4256:99:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4457:73:1", | |
"nodeType": "YulBlock", | |
"src": "4457:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4474:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4474:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4479:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4479:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4467:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4467:6:1" | |
}, | |
"nativeSrc": "4467:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4467:19:1" | |
}, | |
"nativeSrc": "4467:19:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4467:19:1" | |
}, | |
{ | |
"nativeSrc": "4495:29:1", | |
"nodeType": "YulAssignment", | |
"src": "4495:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4514:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4514:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4519:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4519:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4510:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4510:3:1" | |
}, | |
"nativeSrc": "4510:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4510:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "4495:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "4495:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "4361:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4429:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4429:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4434:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4434:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "4445:11:1", | |
"nodeType": "YulTypedName", | |
"src": "4445:11:1", | |
"type": "" | |
} | |
], | |
"src": "4361:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4598:184:1", | |
"nodeType": "YulBlock", | |
"src": "4598:184:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4608:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4608:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4617:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4617:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4612:1:1", | |
"nodeType": "YulTypedName", | |
"src": "4612:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4677:63:1", | |
"nodeType": "YulBlock", | |
"src": "4677:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "4702:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4702:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "4707:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4707:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4698:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4698:3:1" | |
}, | |
"nativeSrc": "4698:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4698:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4721:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4721:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "4726:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4726:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4717:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4717:3:1" | |
}, | |
"nativeSrc": "4717:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4717:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4711:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4711:5:1" | |
}, | |
"nativeSrc": "4711:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4711:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4691:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4691:6:1" | |
}, | |
"nativeSrc": "4691:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4691:39:1" | |
}, | |
"nativeSrc": "4691:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4691:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4638:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4638:1:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4641:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4641:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4635:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4635:2:1" | |
}, | |
"nativeSrc": "4635:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4635:13:1" | |
}, | |
"nativeSrc": "4627:113:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "4649:19:1", | |
"nodeType": "YulBlock", | |
"src": "4649:19:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4651:15:1", | |
"nodeType": "YulAssignment", | |
"src": "4651:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4660:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4660:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4663:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4663:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4656:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4656:3:1" | |
}, | |
"nativeSrc": "4656:10:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4656:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4651:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4651:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "4631:3:1", | |
"nodeType": "YulBlock", | |
"src": "4631:3:1", | |
"statements": [] | |
}, | |
"src": "4627:113:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "4760:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4760:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4765:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4765:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4756:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4756:3:1" | |
}, | |
"nativeSrc": "4756:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4756:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4774:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4774:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4749:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4749:6:1" | |
}, | |
"nativeSrc": "4749:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4749:27:1" | |
}, | |
"nativeSrc": "4749:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4749:27:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "4536:246:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4580:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4580:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "4585:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4585:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4590:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4590:6:1", | |
"type": "" | |
} | |
], | |
"src": "4536:246:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4880:285:1", | |
"nodeType": "YulBlock", | |
"src": "4880:285:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4890:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4890:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4937:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4937:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "4904:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "4904:32:1" | |
}, | |
"nativeSrc": "4904:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4904:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4894:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4894:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4952:78:1", | |
"nodeType": "YulAssignment", | |
"src": "4952:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "5018:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5018:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "5023:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5023:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "4959:58:1", | |
"nodeType": "YulIdentifier", | |
"src": "4959:58:1" | |
}, | |
"nativeSrc": "4959:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4959:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4952:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4952:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5078:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5078:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5085:4:1", | |
"nodeType": "YulLiteral", | |
"src": "5085:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5074:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5074:3:1" | |
}, | |
"nativeSrc": "5074:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5074:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "5092:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5092:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "5097:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5097:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "5039:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "5039:34:1" | |
}, | |
"nativeSrc": "5039:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5039:65:1" | |
}, | |
"nativeSrc": "5039:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5039:65:1" | |
}, | |
{ | |
"nativeSrc": "5113:46:1", | |
"nodeType": "YulAssignment", | |
"src": "5113:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "5124:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5124:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "5151:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5151:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "5129:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "5129:21:1" | |
}, | |
"nativeSrc": "5129:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5129:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5120:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5120:3:1" | |
}, | |
"nativeSrc": "5120:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5120:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "5113:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5113:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "4788:377:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4861:5:1", | |
"nodeType": "YulTypedName", | |
"src": "4861:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "4868:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4868:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "4876:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4876:3:1", | |
"type": "" | |
} | |
], | |
"src": "4788:377:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5317:277:1", | |
"nodeType": "YulBlock", | |
"src": "5317:277:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5327:26:1", | |
"nodeType": "YulAssignment", | |
"src": "5327:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5339:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5339:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5350:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5350:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5335:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5335:3:1" | |
}, | |
"nativeSrc": "5335:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5335:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5327:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5327:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "5407:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5407:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5420:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5420:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5431:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5431:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5416:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5416:3:1" | |
}, | |
"nativeSrc": "5416:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5416:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nativeSrc": "5363:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "5363:43:1" | |
}, | |
"nativeSrc": "5363:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5363:71:1" | |
}, | |
"nativeSrc": "5363:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5363:71:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5455:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5455:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5466:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5466:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5451:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5451:3:1" | |
}, | |
"nativeSrc": "5451:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5451:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5475:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5475:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "5481:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5481:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "5471:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5471:3:1" | |
}, | |
"nativeSrc": "5471:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5471:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "5444:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5444:6:1" | |
}, | |
"nativeSrc": "5444:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5444:48:1" | |
}, | |
"nativeSrc": "5444:48:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5444:48:1" | |
}, | |
{ | |
"nativeSrc": "5501:86:1", | |
"nodeType": "YulAssignment", | |
"src": "5501:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nativeSrc": "5573:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5573:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nativeSrc": "5582:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5582:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "5509:63:1", | |
"nodeType": "YulIdentifier", | |
"src": "5509:63:1" | |
}, | |
"nativeSrc": "5509:78:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5509:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5501:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5501:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed", | |
"nativeSrc": "5171:423:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5281:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5281:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nativeSrc": "5293:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5293:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "5301:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5301:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5312:4:1", | |
"nodeType": "YulTypedName", | |
"src": "5312:4:1", | |
"type": "" | |
} | |
], | |
"src": "5171:423:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5676:433:1", | |
"nodeType": "YulBlock", | |
"src": "5676:433:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "5722:83:1", | |
"nodeType": "YulBlock", | |
"src": "5722:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "5724:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "5724:77:1" | |
}, | |
"nativeSrc": "5724:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5724:79:1" | |
}, | |
"nativeSrc": "5724:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5724:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "5697:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "5697:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "5706:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5706:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "5693:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5693:3:1" | |
}, | |
"nativeSrc": "5693:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5693:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5718:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5718:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "5689:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5689:3:1" | |
}, | |
"nativeSrc": "5689:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5689:32:1" | |
}, | |
"nativeSrc": "5686:119:1", | |
"nodeType": "YulIf", | |
"src": "5686:119:1" | |
}, | |
{ | |
"nativeSrc": "5815:287:1", | |
"nodeType": "YulBlock", | |
"src": "5815:287:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5830:45:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5830:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5861:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5861:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5872:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5872:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5857:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5857:3:1" | |
}, | |
"nativeSrc": "5857:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5857:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "5844:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "5844:12:1" | |
}, | |
"nativeSrc": "5844:31:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5844:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "5834:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5834:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5922:83:1", | |
"nodeType": "YulBlock", | |
"src": "5922:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "5924:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "5924:77:1" | |
}, | |
"nativeSrc": "5924:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5924:79:1" | |
}, | |
"nativeSrc": "5924:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5924:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "5894:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5894:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5902:18:1", | |
"nodeType": "YulLiteral", | |
"src": "5902:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "5891:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "5891:2:1" | |
}, | |
"nativeSrc": "5891:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5891:30:1" | |
}, | |
"nativeSrc": "5888:117:1", | |
"nodeType": "YulIf", | |
"src": "5888:117:1" | |
}, | |
{ | |
"nativeSrc": "6019:73:1", | |
"nodeType": "YulAssignment", | |
"src": "6019:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "6064:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "6064:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6075:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6075:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "6060:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6060:3:1" | |
}, | |
"nativeSrc": "6060:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6060:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "6084:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6084:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "6029:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "6029:30:1" | |
}, | |
"nativeSrc": "6029:63:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6029:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "6019:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6019:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptr", | |
"nativeSrc": "5600:509:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5646:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5646:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "5657:7:1", | |
"nodeType": "YulTypedName", | |
"src": "5657:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "5669:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5669:6:1", | |
"type": "" | |
} | |
], | |
"src": "5600:509:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6143:152:1", | |
"nodeType": "YulBlock", | |
"src": "6143:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6160:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6160:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6163:77:1", | |
"nodeType": "YulLiteral", | |
"src": "6163:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6153:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6153:6:1" | |
}, | |
"nativeSrc": "6153:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6153:88:1" | |
}, | |
"nativeSrc": "6153:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6153:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6257:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6257:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6260:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6260:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6250:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6250:6:1" | |
}, | |
"nativeSrc": "6250:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6250:15:1" | |
}, | |
"nativeSrc": "6250:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6250:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6281:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6281:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6284:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6284:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "6274:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6274:6:1" | |
}, | |
"nativeSrc": "6274:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6274:15:1" | |
}, | |
"nativeSrc": "6274:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6274:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nativeSrc": "6115:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "6115:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6349:362:1", | |
"nodeType": "YulBlock", | |
"src": "6349:362:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6359:25:1", | |
"nodeType": "YulAssignment", | |
"src": "6359:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6382:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6382:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "6364:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6364:17:1" | |
}, | |
"nativeSrc": "6364:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6364:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6359:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6359:1:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6393:25:1", | |
"nodeType": "YulAssignment", | |
"src": "6393:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nativeSrc": "6416:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6416:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "6398:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6398:17:1" | |
}, | |
"nativeSrc": "6398:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6398:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nativeSrc": "6393:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6393:1:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6427:28:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6427:28:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6450:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6450:1:1" | |
}, | |
{ | |
"name": "y", | |
"nativeSrc": "6453:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6453:1:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "6446:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6446:3:1" | |
}, | |
"nativeSrc": "6446:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6446:9:1" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nativeSrc": "6431:11:1", | |
"nodeType": "YulTypedName", | |
"src": "6431:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6464:41:1", | |
"nodeType": "YulAssignment", | |
"src": "6464:41:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nativeSrc": "6493:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "6493:11:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "6475:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6475:17:1" | |
}, | |
"nativeSrc": "6475:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6475:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nativeSrc": "6464:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6464:7:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6682:22:1", | |
"nodeType": "YulBlock", | |
"src": "6682:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nativeSrc": "6684:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "6684:16:1" | |
}, | |
"nativeSrc": "6684:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6684:18:1" | |
}, | |
"nativeSrc": "6684:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6684:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6615:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6615:1:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "6608:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6608:6:1" | |
}, | |
"nativeSrc": "6608:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6608:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nativeSrc": "6638:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6638:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nativeSrc": "6645:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6645:7:1" | |
}, | |
{ | |
"name": "x", | |
"nativeSrc": "6654:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6654:1:1" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "6641:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6641:3:1" | |
}, | |
"nativeSrc": "6641:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6641:15:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "6635:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6635:2:1" | |
}, | |
"nativeSrc": "6635:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6635:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "6588:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6588:2:1" | |
}, | |
"nativeSrc": "6588:83:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6588:83:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "6568:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6568:6:1" | |
}, | |
"nativeSrc": "6568:113:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6568:113:1" | |
}, | |
"nativeSrc": "6565:139:1", | |
"nodeType": "YulIf", | |
"src": "6565:139:1" | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nativeSrc": "6301:410:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6332:1:1", | |
"nodeType": "YulTypedName", | |
"src": "6332:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nativeSrc": "6335:1:1", | |
"nodeType": "YulTypedName", | |
"src": "6335:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nativeSrc": "6341:7:1", | |
"nodeType": "YulTypedName", | |
"src": "6341:7:1", | |
"type": "" | |
} | |
], | |
"src": "6301:410:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6745:152:1", | |
"nodeType": "YulBlock", | |
"src": "6745:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6762:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6762:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6765:77:1", | |
"nodeType": "YulLiteral", | |
"src": "6765:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6755:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6755:6:1" | |
}, | |
"nativeSrc": "6755:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6755:88:1" | |
}, | |
"nativeSrc": "6755:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6755:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6859:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6859:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6862:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6862:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6852:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6852:6:1" | |
}, | |
"nativeSrc": "6852:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6852:15:1" | |
}, | |
"nativeSrc": "6852:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6852:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6883:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6883:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6886:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6886:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "6876:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6876:6:1" | |
}, | |
"nativeSrc": "6876:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6876:15:1" | |
}, | |
"nativeSrc": "6876:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6876:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nativeSrc": "6717:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "6717:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6954:269:1", | |
"nodeType": "YulBlock", | |
"src": "6954:269:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6964:22:1", | |
"nodeType": "YulAssignment", | |
"src": "6964:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "6978:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6978:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6984:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6984:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "6974:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6974:3:1" | |
}, | |
"nativeSrc": "6974:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6974:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "6964:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6964:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6995:38:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6995:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7025:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7025:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7031:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7031:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7021:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7021:3:1" | |
}, | |
"nativeSrc": "7021:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7021:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "6999:18:1", | |
"nodeType": "YulTypedName", | |
"src": "6999:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7072:51:1", | |
"nodeType": "YulBlock", | |
"src": "7072:51:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7086:27:1", | |
"nodeType": "YulAssignment", | |
"src": "7086:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "7100:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7100:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7108:4:1", | |
"nodeType": "YulLiteral", | |
"src": "7108:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7096:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7096:3:1" | |
}, | |
"nativeSrc": "7096:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7096:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "7086:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7086:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "7052:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7052:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "7045:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7045:6:1" | |
}, | |
"nativeSrc": "7045:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7045:26:1" | |
}, | |
"nativeSrc": "7042:81:1", | |
"nodeType": "YulIf", | |
"src": "7042:81:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7175:42:1", | |
"nodeType": "YulBlock", | |
"src": "7175:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nativeSrc": "7189:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "7189:16:1" | |
}, | |
"nativeSrc": "7189:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7189:18:1" | |
}, | |
"nativeSrc": "7189:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "7189:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "7139:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7139:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "7162:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7162:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7170:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7170:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "7159:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7159:2:1" | |
}, | |
"nativeSrc": "7159:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7159:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "7136:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7136:2:1" | |
}, | |
"nativeSrc": "7136:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7136:38:1" | |
}, | |
"nativeSrc": "7133:84:1", | |
"nodeType": "YulIf", | |
"src": "7133:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nativeSrc": "6903:320:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "6938:4:1", | |
"nodeType": "YulTypedName", | |
"src": "6938:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "6947:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6947:6:1", | |
"type": "" | |
} | |
], | |
"src": "6903:320:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7283:87:1", | |
"nodeType": "YulBlock", | |
"src": "7283:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7293:11:1", | |
"nodeType": "YulAssignment", | |
"src": "7293:11:1", | |
"value": { | |
"name": "ptr", | |
"nativeSrc": "7301:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7301:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7293:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7293:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7321:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7321:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "ptr", | |
"nativeSrc": "7324:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7324:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "7314:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7314:6:1" | |
}, | |
"nativeSrc": "7314:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7314:14:1" | |
}, | |
"nativeSrc": "7314:14:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "7314:14:1" | |
}, | |
{ | |
"nativeSrc": "7337:26:1", | |
"nodeType": "YulAssignment", | |
"src": "7337:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7355:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7355:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7358:4:1", | |
"nodeType": "YulLiteral", | |
"src": "7358:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "keccak256", | |
"nativeSrc": "7345:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "7345:9:1" | |
}, | |
"nativeSrc": "7345:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7345:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7337:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7337:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "7229:141:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nativeSrc": "7270:3:1", | |
"nodeType": "YulTypedName", | |
"src": "7270:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7278:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7278:4:1", | |
"type": "" | |
} | |
], | |
"src": "7229:141:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7420:49:1", | |
"nodeType": "YulBlock", | |
"src": "7420:49:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7430:33:1", | |
"nodeType": "YulAssignment", | |
"src": "7430:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7448:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7448:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7455:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7455:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "7444:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7444:3:1" | |
}, | |
"nativeSrc": "7444:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7444:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7460:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7460:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "7440:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7440:3:1" | |
}, | |
"nativeSrc": "7440:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7440:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7430:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7430:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "7376:93:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7403:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7403:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7413:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7413:6:1", | |
"type": "" | |
} | |
], | |
"src": "7376:93:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7528:54:1", | |
"nodeType": "YulBlock", | |
"src": "7528:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7538:37:1", | |
"nodeType": "YulAssignment", | |
"src": "7538:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7563:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7563:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7569:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7569:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nativeSrc": "7559:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7559:3:1" | |
}, | |
"nativeSrc": "7559:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7559:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7538:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7538:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_dynamic", | |
"nativeSrc": "7475:107:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7503:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7503:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7509:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7509:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7519:8:1", | |
"nodeType": "YulTypedName", | |
"src": "7519:8:1", | |
"type": "" | |
} | |
], | |
"src": "7475:107:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7664:317:1", | |
"nodeType": "YulBlock", | |
"src": "7664:317:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7674:35:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7674:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "7695:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "7695:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7707:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7707:1:1", | |
"type": "", | |
"value": "8" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "7691:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7691:3:1" | |
}, | |
"nativeSrc": "7691:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7691:18:1" | |
}, | |
"variables": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "7678:9:1", | |
"nodeType": "YulTypedName", | |
"src": "7678:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7718:109:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7718:109:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "7749:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "7749:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7760:66:1", | |
"nodeType": "YulLiteral", | |
"src": "7760:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "7730:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7730:18:1" | |
}, | |
"nativeSrc": "7730:97:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7730:97:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "7722:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7722:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7836:51:1", | |
"nodeType": "YulAssignment", | |
"src": "7836:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "7867:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "7867:9:1" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7878:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7878:8:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "7848:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7848:18:1" | |
}, | |
"nativeSrc": "7848:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7848:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7836:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7836:8:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7896:30:1", | |
"nodeType": "YulAssignment", | |
"src": "7896:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7909:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7909:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "7920:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7920:4:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "7916:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7916:3:1" | |
}, | |
"nativeSrc": "7916:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7916:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7905:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7905:3:1" | |
}, | |
"nativeSrc": "7905:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7905:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7896:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7896:5:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7935:40:1", | |
"nodeType": "YulAssignment", | |
"src": "7935:40:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7948:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7948:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7959:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7959:8:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "7969:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7969:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7955:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7955:3:1" | |
}, | |
"nativeSrc": "7955:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7955:19:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "7945:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7945:2:1" | |
}, | |
"nativeSrc": "7945:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7945:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7935:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7935:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "7588:393:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7625:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7625:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "7632:10:1", | |
"nodeType": "YulTypedName", | |
"src": "7632:10:1", | |
"type": "" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7644:8:1", | |
"nodeType": "YulTypedName", | |
"src": "7644:8:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7657:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7657:6:1", | |
"type": "" | |
} | |
], | |
"src": "7588:393:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8019:28:1", | |
"nodeType": "YulBlock", | |
"src": "8019:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8029:12:1", | |
"nodeType": "YulAssignment", | |
"src": "8029:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "8036:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8036:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8029:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8029:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "identity", | |
"nativeSrc": "7987:60:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8005:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8005:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8015:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8015:3:1", | |
"type": "" | |
} | |
], | |
"src": "7987:60:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8113:82:1", | |
"nodeType": "YulBlock", | |
"src": "8113:82:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8123:66:1", | |
"nodeType": "YulAssignment", | |
"src": "8123:66:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8181:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8181:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "8163:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "8163:17:1" | |
}, | |
"nativeSrc": "8163:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8163:24:1" | |
} | |
], | |
"functionName": { | |
"name": "identity", | |
"nativeSrc": "8154:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "8154:8:1" | |
}, | |
"nativeSrc": "8154:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8154:34:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "8136:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "8136:17:1" | |
}, | |
"nativeSrc": "8136:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8136:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "8123:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8123:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "8053:142:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8093:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8093:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "8103:9:1", | |
"nodeType": "YulTypedName", | |
"src": "8103:9:1", | |
"type": "" | |
} | |
], | |
"src": "8053:142:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8248:28:1", | |
"nodeType": "YulBlock", | |
"src": "8248:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8258:12:1", | |
"nodeType": "YulAssignment", | |
"src": "8258:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "8265:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8265:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8258:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8258:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "8201:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8234:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8234:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8244:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8244:3:1", | |
"type": "" | |
} | |
], | |
"src": "8201:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8358:193:1", | |
"nodeType": "YulBlock", | |
"src": "8358:193:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8368:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8368:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value_0", | |
"nativeSrc": "8423:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "8423:7:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "8392:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "8392:30:1" | |
}, | |
"nativeSrc": "8392:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8392:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "8372:16:1", | |
"nodeType": "YulTypedName", | |
"src": "8372:16:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8447:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8447:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8487:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8487:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "8481:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8481:5:1" | |
}, | |
"nativeSrc": "8481:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8481:11:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8494:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8494:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "8526:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "8526:16:1" | |
} | |
], | |
"functionName": { | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "8502:23:1", | |
"nodeType": "YulIdentifier", | |
"src": "8502:23:1" | |
}, | |
"nativeSrc": "8502:41:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8502:41:1" | |
} | |
], | |
"functionName": { | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "8453:27:1", | |
"nodeType": "YulIdentifier", | |
"src": "8453:27:1" | |
}, | |
"nativeSrc": "8453:91:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8453:91:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8440:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8440:6:1" | |
}, | |
"nativeSrc": "8440:105:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8440:105:1" | |
}, | |
"nativeSrc": "8440:105:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8440:105:1" | |
} | |
] | |
}, | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "8282:269:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8335:4:1", | |
"nodeType": "YulTypedName", | |
"src": "8335:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8341:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8341:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value_0", | |
"nativeSrc": "8349:7:1", | |
"nodeType": "YulTypedName", | |
"src": "8349:7:1", | |
"type": "" | |
} | |
], | |
"src": "8282:269:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8606:24:1", | |
"nodeType": "YulBlock", | |
"src": "8606:24:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8616:8:1", | |
"nodeType": "YulAssignment", | |
"src": "8616:8:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8623:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8623:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8616:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8616:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "8557:73:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8602:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8602:3:1", | |
"type": "" | |
} | |
], | |
"src": "8557:73:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8689:136:1", | |
"nodeType": "YulBlock", | |
"src": "8689:136:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8699:46:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8699:46:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "8713:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "8713:30:1" | |
}, | |
"nativeSrc": "8713:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8713:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "zero_0", | |
"nativeSrc": "8703:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8703:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8798:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8798:4:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8804:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8804:6:1" | |
}, | |
{ | |
"name": "zero_0", | |
"nativeSrc": "8812:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8812:6:1" | |
} | |
], | |
"functionName": { | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "8754:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "8754:43:1" | |
}, | |
"nativeSrc": "8754:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8754:65:1" | |
}, | |
"nativeSrc": "8754:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8754:65:1" | |
} | |
] | |
}, | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "8636:189:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8675:4:1", | |
"nodeType": "YulTypedName", | |
"src": "8675:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8681:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8681:6:1", | |
"type": "" | |
} | |
], | |
"src": "8636:189:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8881:136:1", | |
"nodeType": "YulBlock", | |
"src": "8881:136:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "8948:63:1", | |
"nodeType": "YulBlock", | |
"src": "8948:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8992:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8992:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8999:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8999:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "8962:29:1", | |
"nodeType": "YulIdentifier", | |
"src": "8962:29:1" | |
}, | |
"nativeSrc": "8962:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8962:39:1" | |
}, | |
"nativeSrc": "8962:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8962:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8901:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8901:5:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "8908:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8908:3:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "8898:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8898:2:1" | |
}, | |
"nativeSrc": "8898:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8898:14:1" | |
}, | |
"nativeSrc": "8891:120:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "8913:26:1", | |
"nodeType": "YulBlock", | |
"src": "8913:26:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8915:22:1", | |
"nodeType": "YulAssignment", | |
"src": "8915:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8928:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8928:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8935:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8935:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8924:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8924:3:1" | |
}, | |
"nativeSrc": "8924:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8924:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8915:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8915:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "8895:2:1", | |
"nodeType": "YulBlock", | |
"src": "8895:2:1", | |
"statements": [] | |
}, | |
"src": "8891:120:1" | |
} | |
] | |
}, | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "8831:186:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8869:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8869:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "8876:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8876:3:1", | |
"type": "" | |
} | |
], | |
"src": "8831:186:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9102:464:1", | |
"nodeType": "YulBlock", | |
"src": "9102:464:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "9128:431:1", | |
"nodeType": "YulBlock", | |
"src": "9128:431:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9142:54:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9142:54:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "9190:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9190:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "9158:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "9158:31:1" | |
}, | |
"nativeSrc": "9158:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9158:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "9146:8:1", | |
"nodeType": "YulTypedName", | |
"src": "9146:8:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "9209:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9209:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "9232:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9232:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "9260:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "9260:10:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "9242:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "9242:17:1" | |
}, | |
"nativeSrc": "9242:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9242:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "9228:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9228:3:1" | |
}, | |
"nativeSrc": "9228:44:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9228:44:1" | |
}, | |
"variables": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "9213:11:1", | |
"nodeType": "YulTypedName", | |
"src": "9213:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9429:27:1", | |
"nodeType": "YulBlock", | |
"src": "9429:27:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9431:23:1", | |
"nodeType": "YulAssignment", | |
"src": "9431:23:1", | |
"value": { | |
"name": "dataArea", | |
"nativeSrc": "9446:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9446:8:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "9431:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "9431:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "9413:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "9413:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "9425:2:1", | |
"nodeType": "YulLiteral", | |
"src": "9425:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "9410:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "9410:2:1" | |
}, | |
"nativeSrc": "9410:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9410:18:1" | |
}, | |
"nativeSrc": "9407:49:1", | |
"nodeType": "YulIf", | |
"src": "9407:49:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "9498:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "9498:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "9515:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9515:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "9543:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9543:3:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "9525:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "9525:17:1" | |
}, | |
"nativeSrc": "9525:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9525:22:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "9511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9511:3:1" | |
}, | |
"nativeSrc": "9511:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9511:37:1" | |
} | |
], | |
"functionName": { | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "9469:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "9469:28:1" | |
}, | |
"nativeSrc": "9469:80:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9469:80:1" | |
}, | |
"nativeSrc": "9469:80:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "9469:80:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "9119:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9119:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "9124:2:1", | |
"nodeType": "YulLiteral", | |
"src": "9124:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "9116:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "9116:2:1" | |
}, | |
"nativeSrc": "9116:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9116:11:1" | |
}, | |
"nativeSrc": "9113:446:1", | |
"nodeType": "YulIf", | |
"src": "9113:446:1" | |
} | |
] | |
}, | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "9023:543:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "array", | |
"nativeSrc": "9078:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9078:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "9085:3:1", | |
"nodeType": "YulTypedName", | |
"src": "9085:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "startIndex", | |
"nativeSrc": "9090:10:1", | |
"nodeType": "YulTypedName", | |
"src": "9090:10:1", | |
"type": "" | |
} | |
], | |
"src": "9023:543:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9635:54:1", | |
"nodeType": "YulBlock", | |
"src": "9635:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9645:37:1", | |
"nodeType": "YulAssignment", | |
"src": "9645:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "9670:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9670:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "9676:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9676:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shr", | |
"nativeSrc": "9666:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9666:3:1" | |
}, | |
"nativeSrc": "9666:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9666:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "9645:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9645:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "9572:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "9610:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9610:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "9616:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9616:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "9626:8:1", | |
"nodeType": "YulTypedName", | |
"src": "9626:8:1", | |
"type": "" | |
} | |
], | |
"src": "9572:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9746:118:1", | |
"nodeType": "YulBlock", | |
"src": "9746:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9756:68:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9756:68:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "9805:1:1", | |
"nodeType": "YulLiteral", | |
"src": "9805:1:1", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "9808:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9808:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "9801:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9801:3:1" | |
}, | |
"nativeSrc": "9801:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9801:13:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "9820:1:1", | |
"nodeType": "YulLiteral", | |
"src": "9820:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "9816:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9816:3:1" | |
}, | |
"nativeSrc": "9816:6:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9816:6:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "9772:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "9772:28:1" | |
}, | |
"nativeSrc": "9772:51:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9772:51:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "9768:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9768:3:1" | |
}, | |
"nativeSrc": "9768:56:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9768:56:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "9760:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9760:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "9833:25:1", | |
"nodeType": "YulAssignment", | |
"src": "9833:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "9847:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9847:4:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "9853:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9853:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "9843:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9843:3:1" | |
}, | |
"nativeSrc": "9843:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9843:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "9833:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9833:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "9695:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "9723:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9723:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "9729:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9729:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "9739:6:1", | |
"nodeType": "YulTypedName", | |
"src": "9739:6:1", | |
"type": "" | |
} | |
], | |
"src": "9695:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9950:214:1", | |
"nodeType": "YulBlock", | |
"src": "9950:214:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10083:37:1", | |
"nodeType": "YulAssignment", | |
"src": "10083:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "10110:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10110:4:1" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "10116:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10116:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "10091:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "10091:18:1" | |
}, | |
"nativeSrc": "10091:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10091:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "10083:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10083:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10129:29:1", | |
"nodeType": "YulAssignment", | |
"src": "10129:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "10140:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10140:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "10150:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10150:1:1", | |
"type": "", | |
"value": "2" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "10153:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10153:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "10146:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10146:3:1" | |
}, | |
"nativeSrc": "10146:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10146:11:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "10137:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10137:2:1" | |
}, | |
"nativeSrc": "10137:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10137:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "used", | |
"nativeSrc": "10129:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10129:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "9869:295:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "9931:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9931:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "9937:3:1", | |
"nodeType": "YulTypedName", | |
"src": "9937:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "used", | |
"nativeSrc": "9945:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9945:4:1", | |
"type": "" | |
} | |
], | |
"src": "9869:295:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "10261:1303:1", | |
"nodeType": "YulBlock", | |
"src": "10261:1303:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10272:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10272:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "10319:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10319:3:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "10286:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "10286:32:1" | |
}, | |
"nativeSrc": "10286:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10286:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10276:6:1", | |
"nodeType": "YulTypedName", | |
"src": "10276:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "10408:22:1", | |
"nodeType": "YulBlock", | |
"src": "10408:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "10410:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "10410:16:1" | |
}, | |
"nativeSrc": "10410:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10410:18:1" | |
}, | |
"nativeSrc": "10410:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "10410:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10380:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10380:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "10388:18:1", | |
"nodeType": "YulLiteral", | |
"src": "10388:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "10377:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10377:2:1" | |
}, | |
"nativeSrc": "10377:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10377:30:1" | |
}, | |
"nativeSrc": "10374:56:1", | |
"nodeType": "YulIf", | |
"src": "10374:56:1" | |
}, | |
{ | |
"nativeSrc": "10440:52:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10440:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10486:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10486:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "10480:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "10480:5:1" | |
}, | |
"nativeSrc": "10480:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10480:11:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_byte_array_length", | |
"nativeSrc": "10454:25:1", | |
"nodeType": "YulIdentifier", | |
"src": "10454:25:1" | |
}, | |
"nativeSrc": "10454:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10454:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "oldLen", | |
"nativeSrc": "10444:6:1", | |
"nodeType": "YulTypedName", | |
"src": "10444:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10585:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10585:4:1" | |
}, | |
{ | |
"name": "oldLen", | |
"nativeSrc": "10591:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10591:6:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "10599:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10599:6:1" | |
} | |
], | |
"functionName": { | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "10539:45:1", | |
"nodeType": "YulIdentifier", | |
"src": "10539:45:1" | |
}, | |
"nativeSrc": "10539:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10539:67:1" | |
}, | |
"nativeSrc": "10539:67:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "10539:67:1" | |
}, | |
{ | |
"nativeSrc": "10616:18:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10616:18:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10633:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10633:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "10620:9:1", | |
"nodeType": "YulTypedName", | |
"src": "10620:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10644:17:1", | |
"nodeType": "YulAssignment", | |
"src": "10644:17:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10657:4:1", | |
"nodeType": "YulLiteral", | |
"src": "10657:4:1", | |
"type": "", | |
"value": "0x20" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "10644:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "10644:9:1" | |
} | |
] | |
}, | |
{ | |
"cases": [ | |
{ | |
"body": { | |
"nativeSrc": "10708:611:1", | |
"nodeType": "YulBlock", | |
"src": "10708:611:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10722:37:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10722:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10741:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10741:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "10753:4:1", | |
"nodeType": "YulLiteral", | |
"src": "10753:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "10749:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10749:3:1" | |
}, | |
"nativeSrc": "10749:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10749:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "10737:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10737:3:1" | |
}, | |
"nativeSrc": "10737:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10737:22:1" | |
}, | |
"variables": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "10726:7:1", | |
"nodeType": "YulTypedName", | |
"src": "10726:7:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10773:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10773:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10819:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10819:4:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "10787:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "10787:31:1" | |
}, | |
"nativeSrc": "10787:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10787:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10777:6:1", | |
"nodeType": "YulTypedName", | |
"src": "10777:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10837:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10837:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10846:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10846:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10841:1:1", | |
"nodeType": "YulTypedName", | |
"src": "10841:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "10905:163:1", | |
"nodeType": "YulBlock", | |
"src": "10905:163:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10930:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10930:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "10948:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10948:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "10953:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "10953:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "10944:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10944:3:1" | |
}, | |
"nativeSrc": "10944:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10944:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "10938:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "10938:5:1" | |
}, | |
"nativeSrc": "10938:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10938:26:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "10923:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10923:6:1" | |
}, | |
"nativeSrc": "10923:42:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10923:42:1" | |
}, | |
"nativeSrc": "10923:42:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "10923:42:1" | |
}, | |
{ | |
"nativeSrc": "10982:24:1", | |
"nodeType": "YulAssignment", | |
"src": "10982:24:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10996:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10996:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11004:1:1", | |
"nodeType": "YulLiteral", | |
"src": "11004:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "10992:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10992:3:1" | |
}, | |
"nativeSrc": "10992:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10992:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10982:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10982:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "11023:31:1", | |
"nodeType": "YulAssignment", | |
"src": "11023:31:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11040:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11040:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11051:2:1", | |
"nodeType": "YulLiteral", | |
"src": "11051:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "11036:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11036:3:1" | |
}, | |
"nativeSrc": "11036:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11036:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11023:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11023:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10871:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "10871:1:1" | |
}, | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "10874:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "10874:7:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "10868:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10868:2:1" | |
}, | |
"nativeSrc": "10868:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10868:14:1" | |
}, | |
"nativeSrc": "10860:208:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "10883:21:1", | |
"nodeType": "YulBlock", | |
"src": "10883:21:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10885:17:1", | |
"nodeType": "YulAssignment", | |
"src": "10885:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10894:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "10894:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "10897:4:1", | |
"nodeType": "YulLiteral", | |
"src": "10897:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "10890:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10890:3:1" | |
}, | |
"nativeSrc": "10890:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10890:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10885:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "10885:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "10864:3:1", | |
"nodeType": "YulBlock", | |
"src": "10864:3:1", | |
"statements": [] | |
}, | |
"src": "10860:208:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "11104:156:1", | |
"nodeType": "YulBlock", | |
"src": "11104:156:1", | |
"statements": [ | |
{ | |
"nativeSrc": "11122:43:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "11122:43:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "11149:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11149:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11154:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11154:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "11145:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11145:3:1" | |
}, | |
"nativeSrc": "11145:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11145:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "11139:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "11139:5:1" | |
}, | |
"nativeSrc": "11139:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11139:26:1" | |
}, | |
"variables": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "11126:9:1", | |
"nodeType": "YulTypedName", | |
"src": "11126:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "11189:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11189:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "11216:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11216:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "11231:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11231:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11239:4:1", | |
"nodeType": "YulLiteral", | |
"src": "11239:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "11227:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11227:3:1" | |
}, | |
"nativeSrc": "11227:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11227:17:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "11197:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "11197:18:1" | |
}, | |
"nativeSrc": "11197:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11197:48:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "11182:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11182:6:1" | |
}, | |
"nativeSrc": "11182:64:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11182:64:1" | |
}, | |
"nativeSrc": "11182:64:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "11182:64:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "11087:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "11087:7:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "11096:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11096:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "11084:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "11084:2:1" | |
}, | |
"nativeSrc": "11084:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11084:19:1" | |
}, | |
"nativeSrc": "11081:179:1", | |
"nodeType": "YulIf", | |
"src": "11081:179:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "11280:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "11280:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "11294:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11294:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11302:1:1", | |
"nodeType": "YulLiteral", | |
"src": "11302:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "11290:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11290:3:1" | |
}, | |
"nativeSrc": "11290:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11290:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11306:1:1", | |
"nodeType": "YulLiteral", | |
"src": "11306:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "11286:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11286:3:1" | |
}, | |
"nativeSrc": "11286:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11286:22:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "11273:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11273:6:1" | |
}, | |
"nativeSrc": "11273:36:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11273:36:1" | |
}, | |
"nativeSrc": "11273:36:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "11273:36:1" | |
} | |
] | |
}, | |
"nativeSrc": "10701:618:1", | |
"nodeType": "YulCase", | |
"src": "10701:618:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10706:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10706:1:1", | |
"type": "", | |
"value": "1" | |
} | |
}, | |
{ | |
"body": { | |
"nativeSrc": "11336:222:1", | |
"nodeType": "YulBlock", | |
"src": "11336:222:1", | |
"statements": [ | |
{ | |
"nativeSrc": "11350:14:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "11350:14:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "11363:1:1", | |
"nodeType": "YulLiteral", | |
"src": "11363:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "11354:5:1", | |
"nodeType": "YulTypedName", | |
"src": "11354:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "11387:67:1", | |
"nodeType": "YulBlock", | |
"src": "11387:67:1", | |
"statements": [ | |
{ | |
"nativeSrc": "11405:35:1", | |
"nodeType": "YulAssignment", | |
"src": "11405:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "11424:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11424:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11429:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11429:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "11420:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11420:3:1" | |
}, | |
"nativeSrc": "11420:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11420:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "11414:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "11414:5:1" | |
}, | |
"nativeSrc": "11414:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11414:26:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "11405:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "11405:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"name": "newLen", | |
"nativeSrc": "11380:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11380:6:1" | |
}, | |
"nativeSrc": "11377:77:1", | |
"nodeType": "YulIf", | |
"src": "11377:77:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "11474:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "11474:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "11533:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "11533:5:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "11540:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11540:6:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "11480:52:1", | |
"nodeType": "YulIdentifier", | |
"src": "11480:52:1" | |
}, | |
"nativeSrc": "11480:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11480:67:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "11467:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11467:6:1" | |
}, | |
"nativeSrc": "11467:81:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11467:81:1" | |
}, | |
"nativeSrc": "11467:81:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "11467:81:1" | |
} | |
] | |
}, | |
"nativeSrc": "11328:230:1", | |
"nodeType": "YulCase", | |
"src": "11328:230:1", | |
"value": "default" | |
} | |
], | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10681:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10681:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "10689:2:1", | |
"nodeType": "YulLiteral", | |
"src": "10689:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "10678:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10678:2:1" | |
}, | |
"nativeSrc": "10678:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10678:14:1" | |
}, | |
"nativeSrc": "10671:887:1", | |
"nodeType": "YulSwitch", | |
"src": "10671:887:1" | |
} | |
] | |
}, | |
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
"nativeSrc": "10169:1395:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10250:4:1", | |
"nodeType": "YulTypedName", | |
"src": "10250:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "10256:3:1", | |
"nodeType": "YulTypedName", | |
"src": "10256:3:1", | |
"type": "" | |
} | |
], | |
"src": "10169:1395:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "11684:34:1", | |
"nodeType": "YulBlock", | |
"src": "11684:34:1", | |
"statements": [ | |
{ | |
"nativeSrc": "11694:18:1", | |
"nodeType": "YulAssignment", | |
"src": "11694:18:1", | |
"value": { | |
"name": "pos", | |
"nativeSrc": "11709:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11709:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "11694:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "11694:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nativeSrc": "11570:148:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "11656:3:1", | |
"nodeType": "YulTypedName", | |
"src": "11656:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "11661:6:1", | |
"nodeType": "YulTypedName", | |
"src": "11661:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "11672:11:1", | |
"nodeType": "YulTypedName", | |
"src": "11672:11:1", | |
"type": "" | |
} | |
], | |
"src": "11570:148:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "11834:280:1", | |
"nodeType": "YulBlock", | |
"src": "11834:280:1", | |
"statements": [ | |
{ | |
"nativeSrc": "11844:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "11844:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "11891:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "11891:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "11858:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "11858:32:1" | |
}, | |
"nativeSrc": "11858:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11858:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "11848:6:1", | |
"nodeType": "YulTypedName", | |
"src": "11848:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "11906:96:1", | |
"nodeType": "YulAssignment", | |
"src": "11906:96:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "11990:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11990:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "11995:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "11995:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nativeSrc": "11913:76:1", | |
"nodeType": "YulIdentifier", | |
"src": "11913:76:1" | |
}, | |
"nativeSrc": "11913:89:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11913:89:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "11906:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11906:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "12050:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "12050:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "12057:4:1", | |
"nodeType": "YulLiteral", | |
"src": "12057:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "12046:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12046:3:1" | |
}, | |
"nativeSrc": "12046:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "12046:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "12064:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12064:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "12069:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "12069:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "12011:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "12011:34:1" | |
}, | |
"nativeSrc": "12011:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "12011:65:1" | |
}, | |
"nativeSrc": "12011:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "12011:65:1" | |
}, | |
{ | |
"nativeSrc": "12085:23:1", | |
"nodeType": "YulAssignment", | |
"src": "12085:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "12096:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12096:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "12101:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "12101:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "12092:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12092:3:1" | |
}, | |
"nativeSrc": "12092:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "12092:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "12085:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12085:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nativeSrc": "11724:390:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "11815:5:1", | |
"nodeType": "YulTypedName", | |
"src": "11815:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "11822:3:1", | |
"nodeType": "YulTypedName", | |
"src": "11822:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "11830:3:1", | |
"nodeType": "YulTypedName", | |
"src": "11830:3:1", | |
"type": "" | |
} | |
], | |
"src": "11724:390:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "12256:139:1", | |
"nodeType": "YulBlock", | |
"src": "12256:139:1", | |
"statements": [ | |
{ | |
"nativeSrc": "12267:102:1", | |
"nodeType": "YulAssignment", | |
"src": "12267:102:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "12356:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "12356:6:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "12365:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12365:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nativeSrc": "12274:81:1", | |
"nodeType": "YulIdentifier", | |
"src": "12274:81:1" | |
}, | |
"nativeSrc": "12274:95:1", | |
"nodeType": "YulFunctionCall", | |
"src": "12274:95:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "12267:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12267:3:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "12379:10:1", | |
"nodeType": "YulAssignment", | |
"src": "12379:10:1", | |
"value": { | |
"name": "pos", | |
"nativeSrc": "12386:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12386:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "12379:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "12379:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", | |
"nativeSrc": "12120:275:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "12235:3:1", | |
"nodeType": "YulTypedName", | |
"src": "12235:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "12241:6:1", | |
"nodeType": "YulTypedName", | |
"src": "12241:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "12252:3:1", | |
"nodeType": "YulTypedName", | |
"src": "12252:3:1", | |
"type": "" | |
} | |
], | |
"src": "12120:275:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function 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_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\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 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_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\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_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\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 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 function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b5060043610610086575f3560e01c80636f760f41116100595780636f760f41146100fe57806377ec2b551461011a5780638bab8dd5146101395780639e7a13ad1461016957610086565b8063076ce4c61461008a5780632e64cec1146100a6578063471f7cdf146100c45780636057361d146100e2575b5f80fd5b6100a4600480360381019061009f9190610402565b61019a565b005b6100ae6101ab565b6040516100bb919061043c565b60405180910390f35b6100cc6101b3565b6040516100d9919061043c565b60405180910390f35b6100fc60048036038101906100f79190610402565b6101b8565b005b61011860048036038101906101139190610591565b6101c1565b005b610122610245565b604051610130929190610665565b60405180910390f35b610153600480360381019061014e9190610693565b6102dc565b604051610160919061043c565b60405180910390f35b610183600480360381019061017e9190610402565b610309565b604051610191929190610665565b60405180910390f35b6002816101a79190610707565b5050565b5f8054905090565b5f5481565b805f8190555050565b6001604051806040016040528083815260200184815250908060018154018082558091505060019003905f5260205f2090600202015f909190919091505f820151815f0155602082015181600101908161021b9190610942565b5050508060028360405161022f9190610a4b565b9081526020016040518091039020819055505050565b6003805f01549080600101805461025b90610775565b80601f016020809104026020016040519081016040528092919081815260200182805461028790610775565b80156102d25780601f106102a9576101008083540402835291602001916102d2565b820191905f5260205f20905b8154815290600101906020018083116102b557829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050505f915090505481565b60018181548110610318575f80fd5b905f5260205f2090600202015f91509050805f01549080600101805461033d90610775565b80601f016020809104026020016040519081016040528092919081815260200182805461036990610775565b80156103b45780601f1061038b576101008083540402835291602001916103b4565b820191905f5260205f20905b81548152906001019060200180831161039757829003601f168201915b5050505050905082565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6103e1816103cf565b81146103eb575f80fd5b50565b5f813590506103fc816103d8565b92915050565b5f60208284031215610417576104166103c7565b5b5f610424848285016103ee565b91505092915050565b610436816103cf565b82525050565b5f60208201905061044f5f83018461042d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6104a38261045d565b810181811067ffffffffffffffff821117156104c2576104c161046d565b5b80604052505050565b5f6104d46103be565b90506104e0828261049a565b919050565b5f67ffffffffffffffff8211156104ff576104fe61046d565b5b6105088261045d565b9050602081019050919050565b828183375f83830152505050565b5f610535610530846104e5565b6104cb565b90508281526020810184848401111561055157610550610459565b5b61055c848285610515565b509392505050565b5f82601f83011261057857610577610455565b5b8135610588848260208601610523565b91505092915050565b5f80604083850312156105a7576105a66103c7565b5b5f83013567ffffffffffffffff8111156105c4576105c36103cb565b5b6105d085828601610564565b92505060206105e1858286016103ee565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610622578082015181840152602081019050610607565b5f8484015250505050565b5f610637826105eb565b61064181856105f5565b9350610651818560208601610605565b61065a8161045d565b840191505092915050565b5f6040820190506106785f83018561042d565b818103602083015261068a818461062d565b90509392505050565b5f602082840312156106a8576106a76103c7565b5b5f82013567ffffffffffffffff8111156106c5576106c46103cb565b5b6106d184828501610564565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610711826103cf565b915061071c836103cf565b925082820261072a816103cf565b91508282048414831517610741576107406106da565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078c57607f821691505b60208210810361079f5761079e610748565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026108017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107c6565b61080b86836107c6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61084661084161083c846103cf565b610823565b6103cf565b9050919050565b5f819050919050565b61085f8361082c565b61087361086b8261084d565b8484546107d2565b825550505050565b5f90565b61088761087b565b610892818484610856565b505050565b5b818110156108b5576108aa5f8261087f565b600181019050610898565b5050565b601f8211156108fa576108cb816107a5565b6108d4846107b7565b810160208510156108e3578190505b6108f76108ef856107b7565b830182610897565b50505b505050565b5f82821c905092915050565b5f61091a5f19846008026108ff565b1980831691505092915050565b5f610932838361090b565b9150826002028217905092915050565b61094b826105eb565b67ffffffffffffffff8111156109645761096361046d565b5b61096e8254610775565b6109798282856108b9565b5f60209050601f8311600181146109aa575f8415610998578287015190505b6109a28582610927565b865550610a09565b601f1984166109b8866107a5565b5f5b828110156109df578489015182556001820191506020850194506020810190506109ba565b868310156109fc57848901516109f8601f89168261090b565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f610a25826105eb565b610a2f8185610a11565b9350610a3f818560208601610605565b80840191505092915050565b5f610a568284610a1b565b91508190509291505056fea26469706673582212200f03ba42004b1eefe9ea64f7afb0c253b5d9f8be439ea2c8f30e3e4aafacdc5b64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6F760F41 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x169 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x76CE4C6 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0x471F7CDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x19A JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAE PUSH2 0x1AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBB SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x1B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x1B8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x118 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x113 SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x122 PUSH2 0x245 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP3 SWAP2 SWAP1 PUSH2 0x665 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x2DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP3 SWAP2 SWAP1 PUSH2 0x665 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 DUP2 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0x21B SWAP2 SWAP1 PUSH2 0x942 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP2 SWAP1 PUSH2 0xA4B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x25B SWAP1 PUSH2 0x775 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 0x287 SWAP1 PUSH2 0x775 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D2 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 0x2B5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x318 JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x33D SWAP1 PUSH2 0x775 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 0x369 SWAP1 PUSH2 0x775 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B4 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 0x397 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3E1 DUP2 PUSH2 0x3CF JUMP JUMPDEST DUP2 EQ PUSH2 0x3EB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3FC DUP2 PUSH2 0x3D8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x417 JUMPI PUSH2 0x416 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x424 DUP5 DUP3 DUP6 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x436 DUP2 PUSH2 0x3CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x44F PUSH0 DUP4 ADD DUP5 PUSH2 0x42D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x4A3 DUP3 PUSH2 0x45D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C2 JUMPI PUSH2 0x4C1 PUSH2 0x46D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x4D4 PUSH2 0x3BE JUMP JUMPDEST SWAP1 POP PUSH2 0x4E0 DUP3 DUP3 PUSH2 0x49A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4FF JUMPI PUSH2 0x4FE PUSH2 0x46D JUMP JUMPDEST JUMPDEST PUSH2 0x508 DUP3 PUSH2 0x45D 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 0x535 PUSH2 0x530 DUP5 PUSH2 0x4E5 JUMP JUMPDEST PUSH2 0x4CB JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x551 JUMPI PUSH2 0x550 PUSH2 0x459 JUMP JUMPDEST JUMPDEST PUSH2 0x55C DUP5 DUP3 DUP6 PUSH2 0x515 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x578 JUMPI PUSH2 0x577 PUSH2 0x455 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x588 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5A7 JUMPI PUSH2 0x5A6 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x5C3 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x5D0 DUP6 DUP3 DUP7 ADD PUSH2 0x564 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5E1 DUP6 DUP3 DUP7 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 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 0x622 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x607 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x637 DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0x641 DUP2 DUP6 PUSH2 0x5F5 JUMP JUMPDEST SWAP4 POP PUSH2 0x651 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x605 JUMP JUMPDEST PUSH2 0x65A DUP2 PUSH2 0x45D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x678 PUSH0 DUP4 ADD DUP6 PUSH2 0x42D JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x68A DUP2 DUP5 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A8 JUMPI PUSH2 0x6A7 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x6C5 JUMPI PUSH2 0x6C4 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x6D1 DUP5 DUP3 DUP6 ADD PUSH2 0x564 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x711 DUP3 PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP PUSH2 0x71C DUP4 PUSH2 0x3CF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x72A DUP2 PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x741 JUMPI PUSH2 0x740 PUSH2 0x6DA JUMP JUMPDEST JUMPDEST 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 0x78C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x79F JUMPI PUSH2 0x79E PUSH2 0x748 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 0x801 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x7C6 JUMP JUMPDEST PUSH2 0x80B DUP7 DUP4 PUSH2 0x7C6 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 PUSH2 0x846 PUSH2 0x841 PUSH2 0x83C DUP5 PUSH2 0x3CF JUMP JUMPDEST PUSH2 0x823 JUMP JUMPDEST PUSH2 0x3CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP4 PUSH2 0x82C JUMP JUMPDEST PUSH2 0x873 PUSH2 0x86B DUP3 PUSH2 0x84D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x7D2 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x87B JUMP JUMPDEST PUSH2 0x892 DUP2 DUP5 DUP5 PUSH2 0x856 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x8B5 JUMPI PUSH2 0x8AA PUSH0 DUP3 PUSH2 0x87F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x898 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x8FA JUMPI PUSH2 0x8CB DUP2 PUSH2 0x7A5 JUMP JUMPDEST PUSH2 0x8D4 DUP5 PUSH2 0x7B7 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x8E3 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x8F7 PUSH2 0x8EF DUP6 PUSH2 0x7B7 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x897 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x91A PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x8FF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x932 DUP4 DUP4 PUSH2 0x90B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x94B DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x964 JUMPI PUSH2 0x963 PUSH2 0x46D JUMP JUMPDEST JUMPDEST PUSH2 0x96E DUP3 SLOAD PUSH2 0x775 JUMP JUMPDEST PUSH2 0x979 DUP3 DUP3 DUP6 PUSH2 0x8B9 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x9AA JUMPI PUSH0 DUP5 ISZERO PUSH2 0x998 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x9A2 DUP6 DUP3 PUSH2 0x927 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0xA09 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x9B8 DUP7 PUSH2 0x7A5 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x9DF 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 0x9BA JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x9FC JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x9F8 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x90B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xA25 DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0xA2F DUP2 DUP6 PUSH2 0xA11 JUMP JUMPDEST SWAP4 POP PUSH2 0xA3F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x605 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xA56 DUP3 DUP5 PUSH2 0xA1B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF SUB 0xBA TIMESTAMP STOP 0x4B 0x1E 0xEF 0xE9 0xEA PUSH5 0xF7AFB0C253 0xB5 0xD9 0xF8 0xBE NUMBER SWAP15 LOG2 0xC8 RETURN 0xE RETURNDATACOPY 0x4A 0xAF 0xAC 0xDC JUMPDEST PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "68:960:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;546:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;98:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;416:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;811:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;313:92;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;250:54;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;221:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;678:99;768:1;750:15;:19;;;;:::i;:::-;;678:99;:::o;546:89::-;586:7;613:14;;606:21;;546:89;:::o;98:29::-;;;;:::o;416:98::-;491:15;474:14;:32;;;;416:98;:::o;811:214::-;894:6;906:54;;;;;;;;930:15;906:54;;;;953:5;906:54;;;894:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;1002:15;972:20;993:5;972:27;;;;;;:::i;:::-;;;;;;;;;;;;;:45;;;;811:214;;:::o;313:92::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;250:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;221:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:117::-;1486:1;1483;1476:12;1500:117;1609:1;1606;1599:12;1623:102;1664:6;1715:2;1711:7;1706:2;1699:5;1695:14;1691:28;1681:38;;1623:102;;;:::o;1731:180::-;1779:77;1776:1;1769:88;1876:4;1873:1;1866:15;1900:4;1897:1;1890:15;1917:281;2000:27;2022:4;2000:27;:::i;:::-;1992:6;1988:40;2130:6;2118:10;2115:22;2094:18;2082:10;2079:34;2076:62;2073:88;;;2141:18;;:::i;:::-;2073:88;2181:10;2177:2;2170:22;1960:238;1917:281;;:::o;2204:129::-;2238:6;2265:20;;:::i;:::-;2255:30;;2294:33;2322:4;2314:6;2294:33;:::i;:::-;2204:129;;;:::o;2339:308::-;2401:4;2491:18;2483:6;2480:30;2477:56;;;2513:18;;:::i;:::-;2477:56;2551:29;2573:6;2551:29;:::i;:::-;2543:37;;2635:4;2629;2625:15;2617:23;;2339:308;;;:::o;2653:146::-;2750:6;2745:3;2740;2727:30;2791:1;2782:6;2777:3;2773:16;2766:27;2653:146;;;:::o;2805:425::-;2883:5;2908:66;2924:49;2966:6;2924:49;:::i;:::-;2908:66;:::i;:::-;2899:75;;2997:6;2990:5;2983:21;3035:4;3028:5;3024:16;3073:3;3064:6;3059:3;3055:16;3052:25;3049:112;;;3080:79;;:::i;:::-;3049:112;3170:54;3217:6;3212:3;3207;3170:54;:::i;:::-;2889:341;2805:425;;;;;:::o;3250:340::-;3306:5;3355:3;3348:4;3340:6;3336:17;3332:27;3322:122;;3363:79;;:::i;:::-;3322:122;3480:6;3467:20;3505:79;3580:3;3572:6;3565:4;3557:6;3553:17;3505:79;:::i;:::-;3496:88;;3312:278;3250:340;;;;:::o;3596:654::-;3674:6;3682;3731:2;3719:9;3710:7;3706:23;3702:32;3699:119;;;3737:79;;:::i;:::-;3699:119;3885:1;3874:9;3870:17;3857:31;3915:18;3907:6;3904:30;3901:117;;;3937:79;;:::i;:::-;3901:117;4042:63;4097:7;4088:6;4077:9;4073:22;4042:63;:::i;:::-;4032:73;;3828:287;4154:2;4180:53;4225:7;4216:6;4205:9;4201:22;4180:53;:::i;:::-;4170:63;;4125:118;3596:654;;;;;:::o;4256:99::-;4308:6;4342:5;4336:12;4326:22;;4256:99;;;:::o;4361:169::-;4445:11;4479:6;4474:3;4467:19;4519:4;4514:3;4510:14;4495:29;;4361:169;;;;:::o;4536:246::-;4617:1;4627:113;4641:6;4638:1;4635:13;4627:113;;;4726:1;4721:3;4717:11;4711:18;4707:1;4702:3;4698:11;4691:39;4663:2;4660:1;4656:10;4651:15;;4627:113;;;4774:1;4765:6;4760:3;4756:16;4749:27;4598:184;4536:246;;;:::o;4788:377::-;4876:3;4904:39;4937:5;4904:39;:::i;:::-;4959:71;5023:6;5018:3;4959:71;:::i;:::-;4952:78;;5039:65;5097:6;5092:3;5085:4;5078:5;5074:16;5039:65;:::i;:::-;5129:29;5151:6;5129:29;:::i;:::-;5124:3;5120:39;5113:46;;4880:285;4788:377;;;;:::o;5171:423::-;5312:4;5350:2;5339:9;5335:18;5327:26;;5363:71;5431:1;5420:9;5416:17;5407:6;5363:71;:::i;:::-;5481:9;5475:4;5471:20;5466:2;5455:9;5451:18;5444:48;5509:78;5582:4;5573:6;5509:78;:::i;:::-;5501:86;;5171:423;;;;;:::o;5600:509::-;5669:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:119;;;5724:79;;:::i;:::-;5686:119;5872:1;5861:9;5857:17;5844:31;5902:18;5894:6;5891:30;5888:117;;;5924:79;;:::i;:::-;5888:117;6029:63;6084:7;6075:6;6064:9;6060:22;6029:63;:::i;:::-;6019:73;;5815:287;5600:509;;;;:::o;6115:180::-;6163:77;6160:1;6153:88;6260:4;6257:1;6250:15;6284:4;6281:1;6274:15;6301:410;6341:7;6364:20;6382:1;6364:20;:::i;:::-;6359:25;;6398:20;6416:1;6398:20;:::i;:::-;6393:25;;6453:1;6450;6446:9;6475:30;6493:11;6475:30;:::i;:::-;6464:41;;6654:1;6645:7;6641:15;6638:1;6635:22;6615:1;6608:9;6588:83;6565:139;;6684:18;;:::i;:::-;6565:139;6349:362;6301:410;;;;:::o;6717:180::-;6765:77;6762:1;6755:88;6862:4;6859:1;6852:15;6886:4;6883:1;6876:15;6903:320;6947:6;6984:1;6978:4;6974:12;6964:22;;7031:1;7025:4;7021:12;7052:18;7042:81;;7108:4;7100:6;7096:17;7086:27;;7042:81;7170:2;7162:6;7159:14;7139:18;7136:38;7133:84;;7189:18;;:::i;:::-;7133:84;6954:269;6903:320;;;:::o;7229:141::-;7278:4;7301:3;7293:11;;7324:3;7321:1;7314:14;7358:4;7355:1;7345:18;7337:26;;7229:141;;;:::o;7376:93::-;7413:6;7460:2;7455;7448:5;7444:14;7440:23;7430:33;;7376:93;;;:::o;7475:107::-;7519:8;7569:5;7563:4;7559:16;7538:37;;7475:107;;;;:::o;7588:393::-;7657:6;7707:1;7695:10;7691:18;7730:97;7760:66;7749:9;7730:97;:::i;:::-;7848:39;7878:8;7867:9;7848:39;:::i;:::-;7836:51;;7920:4;7916:9;7909:5;7905:21;7896:30;;7969:4;7959:8;7955:19;7948:5;7945:30;7935:40;;7664:317;;7588:393;;;;;:::o;7987:60::-;8015:3;8036:5;8029:12;;7987:60;;;:::o;8053:142::-;8103:9;8136:53;8154:34;8163:24;8181:5;8163:24;:::i;:::-;8154:34;:::i;:::-;8136:53;:::i;:::-;8123:66;;8053:142;;;:::o;8201:75::-;8244:3;8265:5;8258:12;;8201:75;;;:::o;8282:269::-;8392:39;8423:7;8392:39;:::i;:::-;8453:91;8502:41;8526:16;8502:41;:::i;:::-;8494:6;8487:4;8481:11;8453:91;:::i;:::-;8447:4;8440:105;8358:193;8282:269;;;:::o;8557:73::-;8602:3;8557:73;:::o;8636:189::-;8713:32;;:::i;:::-;8754:65;8812:6;8804;8798:4;8754:65;:::i;:::-;8689:136;8636:189;;:::o;8831:186::-;8891:120;8908:3;8901:5;8898:14;8891:120;;;8962:39;8999:1;8992:5;8962:39;:::i;:::-;8935:1;8928:5;8924:13;8915:22;;8891:120;;;8831:186;;:::o;9023:543::-;9124:2;9119:3;9116:11;9113:446;;;9158:38;9190:5;9158:38;:::i;:::-;9242:29;9260:10;9242:29;:::i;:::-;9232:8;9228:44;9425:2;9413:10;9410:18;9407:49;;;9446:8;9431:23;;9407:49;9469:80;9525:22;9543:3;9525:22;:::i;:::-;9515:8;9511:37;9498:11;9469:80;:::i;:::-;9128:431;;9113:446;9023:543;;;:::o;9572:117::-;9626:8;9676:5;9670:4;9666:16;9645:37;;9572:117;;;;:::o;9695:169::-;9739:6;9772:51;9820:1;9816:6;9808:5;9805:1;9801:13;9772:51;:::i;:::-;9768:56;9853:4;9847;9843:15;9833:25;;9746:118;9695:169;;;;:::o;9869:295::-;9945:4;10091:29;10116:3;10110:4;10091:29;:::i;:::-;10083:37;;10153:3;10150:1;10146:11;10140:4;10137:21;10129:29;;9869:295;;;;:::o;10169:1395::-;10286:37;10319:3;10286:37;:::i;:::-;10388:18;10380:6;10377:30;10374:56;;;10410:18;;:::i;:::-;10374:56;10454:38;10486:4;10480:11;10454:38;:::i;:::-;10539:67;10599:6;10591;10585:4;10539:67;:::i;:::-;10633:1;10657:4;10644:17;;10689:2;10681:6;10678:14;10706:1;10701:618;;;;11363:1;11380:6;11377:77;;;11429:9;11424:3;11420:19;11414:26;11405:35;;11377:77;11480:67;11540:6;11533:5;11480:67;:::i;:::-;11474:4;11467:81;11336:222;10671:887;;10701:618;10753:4;10749:9;10741:6;10737:22;10787:37;10819:4;10787:37;:::i;:::-;10846:1;10860:208;10874:7;10871:1;10868:14;10860:208;;;10953:9;10948:3;10944:19;10938:26;10930:6;10923:42;11004:1;10996:6;10992:14;10982:24;;11051:2;11040:9;11036:18;11023:31;;10897:4;10894:1;10890:12;10885:17;;10860:208;;;11096:6;11087:7;11084:19;11081:179;;;11154:9;11149:3;11145:19;11139:26;11197:48;11239:4;11231:6;11227:17;11216:9;11197:48;:::i;:::-;11189:6;11182:64;11104:156;11081:179;11306:1;11302;11294:6;11290:14;11286:22;11280:4;11273:36;10708:611;;;10671:887;;10261:1303;;;10169:1395;;:::o;11570:148::-;11672:11;11709:3;11694:18;;11570:148;;;;:::o;11724:390::-;11830:3;11858:39;11891:5;11858:39;:::i;:::-;11913:89;11995:6;11990:3;11913:89;:::i;:::-;11906:96;;12011:65;12069:6;12064:3;12057:4;12050:5;12046:16;12011:65;:::i;:::-;12101:6;12096:3;12092:16;12085:23;;11834:280;11724:390;;;;:::o;12120:275::-;12252:3;12274:95;12365:3;12356:6;12274:95;:::i;:::-;12267:102;;12386:3;12379:10;;12120:275;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "542200", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"addPerson(string,uint256)": "infinite", | |
"calculAddition(uint256)": "infinite", | |
"favoriteNumber()": "2469", | |
"nameToFavoriteNumber(string)": "infinite", | |
"people(uint256)": "infinite", | |
"person()": "infinite", | |
"retrieve()": "2455", | |
"store(uint256)": "22581" | |
} | |
}, | |
"methodIdentifiers": { | |
"addPerson(string,uint256)": "6f760f41", | |
"calculAddition(uint256)": "076ce4c6", | |
"favoriteNumber()": "471f7cdf", | |
"nameToFavoriteNumber(string)": "8bab8dd5", | |
"people(uint256)": "9e7a13ad", | |
"person()": "77ec2b55", | |
"retrieve()": "2e64cec1", | |
"store(uint256)": "6057361d" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_name", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "addPerson", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "calculAddition", | |
"outputs": [], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "favoriteNumber", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"name": "nameToFavoriteNumber", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "people", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "favoriteNumber", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "person", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "favoriteNumber", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "retrieve", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "store", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.22+commit.4fc1097e" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_name", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "addPerson", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "calculAddition", | |
"outputs": [], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "favoriteNumber", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"name": "nameToFavoriteNumber", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "people", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "favoriteNumber", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "person", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "favoriteNumber", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "retrieve", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "store", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/experiences/001/SimpleStorage.sol": "SimpleStorage" | |
}, | |
"evmVersion": "shanghai", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/experiences/001/SimpleStorage.sol": { | |
"keccak256": "0x86a7f68eb502547586c71f970e8b6e0899a7d9c5dd0a00b00cf77d8001ff766e", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://d922789a26601fa2645aa4ee5de52b2ee26e38cf41ff3ab574a98291e39f17cc", | |
"dweb:/ipfs/QmaUPUvR1se5KceB5UUiAaRsv5CAxTV1MrbdfHPixsudeZ" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity >=0.6.0 <0.9.0; | |
contract SimpleStorage { | |
uint256 public favoriteNumber; | |
struct People { | |
uint256 favoriteNumber; | |
string name; | |
} | |
People[] public people; | |
mapping(string => uint256) public nameToFavoriteNumber; | |
People public person = People({ | |
favoriteNumber: 2, | |
name: "justalk" | |
}); | |
function store(uint256 _favoriteNumber) public { | |
favoriteNumber = _favoriteNumber; | |
} | |
// Like any getter | |
function retrieve() public view returns(uint256) { | |
return favoriteNumber; | |
} | |
// Cannot use anything stored | |
function calculAddition(uint256 _favoriteNumber) public pure { | |
_favoriteNumber * 2; | |
} | |
// memory vs storage | |
function addPerson(string memory _name, uint256 _favoriteNumber) public { | |
people.push(People({favoriteNumber: _favoriteNumber, name: _name})); | |
nameToFavoriteNumber[_name] = _favoriteNumber; | |
} | |
} |
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "e92c19a33416d857f26a8e5181c1fc39", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.22", | |
"solcLongVersion": "0.8.22+commit.4fc1097e", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/experiences/001/SimpleStorage.sol": { | |
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity >=0.6.0 <0.9.0;\r\n\r\ncontract SimpleStorage {\r\n uint256 public favoriteNumber;\r\n\r\n struct People {\r\n uint256 favoriteNumber;\r\n string name;\r\n }\r\n\r\n People[] public people;\r\n mapping(string => uint256) public nameToFavoriteNumber;\r\n\r\n People public person = People({\r\n favoriteNumber: 2,\r\n name: \"justalk\"\r\n });\r\n\r\n\r\n function store(uint256 _favoriteNumber) public {\r\n favoriteNumber = _favoriteNumber;\r\n }\r\n\r\n // Like any getter\r\n function retrieve() public view returns(uint256) {\r\n return favoriteNumber;\r\n }\r\n\r\n // Cannot use anything stored\r\n function calculAddition(uint256 _favoriteNumber) public pure {\r\n _favoriteNumber * 2;\r\n }\r\n\r\n // memory vs storage\r\n function addPerson(string memory _name, uint256 _favoriteNumber) public {\r\n people.push(People({favoriteNumber: _favoriteNumber, name: _name}));\r\n nameToFavoriteNumber[_name] = _favoriteNumber;\r\n }\r\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/experiences/001/SimpleStorage.sol": { | |
"SimpleStorage": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_name", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "addPerson", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "calculAddition", | |
"outputs": [], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "favoriteNumber", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"name": "nameToFavoriteNumber", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "people", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "favoriteNumber", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "person", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "favoriteNumber", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "retrieve", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_favoriteNumber", | |
"type": "uint256" | |
} | |
], | |
"name": "store", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/experiences/001/SimpleStorage.sol\":68:1028 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n /* \"contracts/experiences/001/SimpleStorage.sol\":336:405 People({... */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/experiences/001/SimpleStorage.sol\":370:371 2 */\n 0x02\n /* \"contracts/experiences/001/SimpleStorage.sol\":336:405 People({... */\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x07\n dup2\n mstore\n 0x20\n add\n 0x6a757374616c6b00000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":313:405 People public person = People({... */\n 0x03\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup2\n tag_1\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n pop\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":68:1028 contract SimpleStorage {... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\n /* \"#utility.yul\":7:106 */\ntag_5:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:292 */\ntag_6:\n /* \"#utility.yul\":160:237 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":157:158 */\n 0x00\n /* \"#utility.yul\":150:238 */\n mstore\n /* \"#utility.yul\":257:261 */\n 0x41\n /* \"#utility.yul\":254:255 */\n 0x04\n /* \"#utility.yul\":247:262 */\n mstore\n /* \"#utility.yul\":281:285 */\n 0x24\n /* \"#utility.yul\":278:279 */\n 0x00\n /* \"#utility.yul\":271:286 */\n revert\n /* \"#utility.yul\":298:478 */\ntag_7:\n /* \"#utility.yul\":346:423 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":343:344 */\n 0x00\n /* \"#utility.yul\":336:424 */\n mstore\n /* \"#utility.yul\":443:447 */\n 0x22\n /* \"#utility.yul\":440:441 */\n 0x04\n /* \"#utility.yul\":433:448 */\n mstore\n /* \"#utility.yul\":467:471 */\n 0x24\n /* \"#utility.yul\":464:465 */\n 0x00\n /* \"#utility.yul\":457:472 */\n revert\n /* \"#utility.yul\":484:804 */\ntag_8:\n /* \"#utility.yul\":528:534 */\n 0x00\n /* \"#utility.yul\":565:566 */\n 0x02\n /* \"#utility.yul\":559:563 */\n dup3\n /* \"#utility.yul\":555:567 */\n div\n /* \"#utility.yul\":545:567 */\n swap1\n pop\n /* \"#utility.yul\":612:613 */\n 0x01\n /* \"#utility.yul\":606:610 */\n dup3\n /* \"#utility.yul\":602:614 */\n and\n /* \"#utility.yul\":633:651 */\n dup1\n /* \"#utility.yul\":623:704 */\n tag_30\n jumpi\n /* \"#utility.yul\":689:693 */\n 0x7f\n /* \"#utility.yul\":681:687 */\n dup3\n /* \"#utility.yul\":677:694 */\n and\n /* \"#utility.yul\":667:694 */\n swap2\n pop\n /* \"#utility.yul\":623:704 */\ntag_30:\n /* \"#utility.yul\":751:753 */\n 0x20\n /* \"#utility.yul\":743:749 */\n dup3\n /* \"#utility.yul\":740:754 */\n lt\n /* \"#utility.yul\":720:738 */\n dup2\n /* \"#utility.yul\":717:755 */\n sub\n /* \"#utility.yul\":714:798 */\n tag_31\n jumpi\n /* \"#utility.yul\":770:788 */\n tag_32\n tag_7\n jump\t// in\ntag_32:\n /* \"#utility.yul\":714:798 */\ntag_31:\n /* \"#utility.yul\":535:804 */\n pop\n /* \"#utility.yul\":484:804 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":810:951 */\ntag_9:\n /* \"#utility.yul\":859:863 */\n 0x00\n /* \"#utility.yul\":882:885 */\n dup2\n /* \"#utility.yul\":874:885 */\n swap1\n pop\n /* \"#utility.yul\":905:908 */\n dup2\n /* \"#utility.yul\":902:903 */\n 0x00\n /* \"#utility.yul\":895:909 */\n mstore\n /* \"#utility.yul\":939:943 */\n 0x20\n /* \"#utility.yul\":936:937 */\n 0x00\n /* \"#utility.yul\":926:944 */\n keccak256\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":810:951 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":957:1050 */\ntag_10:\n /* \"#utility.yul\":994:1000 */\n 0x00\n /* \"#utility.yul\":1041:1043 */\n 0x20\n /* \"#utility.yul\":1036:1038 */\n 0x1f\n /* \"#utility.yul\":1029:1034 */\n dup4\n /* \"#utility.yul\":1025:1039 */\n add\n /* \"#utility.yul\":1021:1044 */\n div\n /* \"#utility.yul\":1011:1044 */\n swap1\n pop\n /* \"#utility.yul\":957:1050 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1056:1163 */\ntag_11:\n /* \"#utility.yul\":1100:1108 */\n 0x00\n /* \"#utility.yul\":1150:1155 */\n dup3\n /* \"#utility.yul\":1144:1148 */\n dup3\n /* \"#utility.yul\":1140:1156 */\n shl\n /* \"#utility.yul\":1119:1156 */\n swap1\n pop\n /* \"#utility.yul\":1056:1163 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1169:1562 */\ntag_12:\n /* \"#utility.yul\":1238:1244 */\n 0x00\n /* \"#utility.yul\":1288:1289 */\n 0x08\n /* \"#utility.yul\":1276:1286 */\n dup4\n /* \"#utility.yul\":1272:1290 */\n mul\n /* \"#utility.yul\":1311:1408 */\n tag_37\n /* \"#utility.yul\":1341:1407 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1330:1339 */\n dup3\n /* \"#utility.yul\":1311:1408 */\n tag_11\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1429:1468 */\n tag_38\n /* \"#utility.yul\":1459:1467 */\n dup7\n /* \"#utility.yul\":1448:1457 */\n dup4\n /* \"#utility.yul\":1429:1468 */\n tag_11\n jump\t// in\ntag_38:\n /* \"#utility.yul\":1417:1468 */\n swap6\n pop\n /* \"#utility.yul\":1501:1505 */\n dup1\n /* \"#utility.yul\":1497:1506 */\n not\n /* \"#utility.yul\":1490:1495 */\n dup5\n /* \"#utility.yul\":1486:1507 */\n and\n /* \"#utility.yul\":1477:1507 */\n swap4\n pop\n /* \"#utility.yul\":1550:1554 */\n dup1\n /* \"#utility.yul\":1540:1548 */\n dup7\n /* \"#utility.yul\":1536:1555 */\n and\n /* \"#utility.yul\":1529:1534 */\n dup5\n /* \"#utility.yul\":1526:1556 */\n or\n /* \"#utility.yul\":1516:1556 */\n swap3\n pop\n /* \"#utility.yul\":1245:1562 */\n pop\n pop\n /* \"#utility.yul\":1169:1562 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1568:1645 */\ntag_13:\n /* \"#utility.yul\":1605:1612 */\n 0x00\n /* \"#utility.yul\":1634:1639 */\n dup2\n /* \"#utility.yul\":1623:1639 */\n swap1\n pop\n /* \"#utility.yul\":1568:1645 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1651:1711 */\ntag_14:\n /* \"#utility.yul\":1679:1682 */\n 0x00\n /* \"#utility.yul\":1700:1705 */\n dup2\n /* \"#utility.yul\":1693:1705 */\n swap1\n pop\n /* \"#utility.yul\":1651:1711 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1717:1859 */\ntag_15:\n /* \"#utility.yul\":1767:1776 */\n 0x00\n /* \"#utility.yul\":1800:1853 */\n tag_42\n /* \"#utility.yul\":1818:1852 */\n tag_43\n /* \"#utility.yul\":1827:1851 */\n tag_44\n /* \"#utility.yul\":1845:1850 */\n dup5\n /* \"#utility.yul\":1827:1851 */\n tag_13\n jump\t// in\ntag_44:\n /* \"#utility.yul\":1818:1852 */\n tag_14\n jump\t// in\ntag_43:\n /* \"#utility.yul\":1800:1853 */\n tag_13\n jump\t// in\ntag_42:\n /* \"#utility.yul\":1787:1853 */\n swap1\n pop\n /* \"#utility.yul\":1717:1859 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1865:1940 */\ntag_16:\n /* \"#utility.yul\":1908:1911 */\n 0x00\n /* \"#utility.yul\":1929:1934 */\n dup2\n /* \"#utility.yul\":1922:1934 */\n swap1\n pop\n /* \"#utility.yul\":1865:1940 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1946:2215 */\ntag_17:\n /* \"#utility.yul\":2056:2095 */\n tag_47\n /* \"#utility.yul\":2087:2094 */\n dup4\n /* \"#utility.yul\":2056:2095 */\n tag_15\n jump\t// in\ntag_47:\n /* \"#utility.yul\":2117:2208 */\n tag_48\n /* \"#utility.yul\":2166:2207 */\n tag_49\n /* \"#utility.yul\":2190:2206 */\n dup3\n /* \"#utility.yul\":2166:2207 */\n tag_16\n jump\t// in\ntag_49:\n /* \"#utility.yul\":2158:2164 */\n dup5\n /* \"#utility.yul\":2151:2155 */\n dup5\n /* \"#utility.yul\":2145:2156 */\n sload\n /* \"#utility.yul\":2117:2208 */\n tag_12\n jump\t// in\ntag_48:\n /* \"#utility.yul\":2111:2115 */\n dup3\n /* \"#utility.yul\":2104:2209 */\n sstore\n /* \"#utility.yul\":2022:2215 */\n pop\n /* \"#utility.yul\":1946:2215 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2221:2294 */\ntag_18:\n /* \"#utility.yul\":2266:2269 */\n 0x00\n /* \"#utility.yul\":2221:2294 */\n swap1\n jump\t// out\n /* \"#utility.yul\":2300:2489 */\ntag_19:\n /* \"#utility.yul\":2377:2409 */\n tag_52\n tag_18\n jump\t// in\ntag_52:\n /* \"#utility.yul\":2418:2483 */\n tag_53\n /* \"#utility.yul\":2476:2482 */\n dup2\n /* \"#utility.yul\":2468:2474 */\n dup5\n /* \"#utility.yul\":2462:2466 */\n dup5\n /* \"#utility.yul\":2418:2483 */\n tag_17\n jump\t// in\ntag_53:\n /* \"#utility.yul\":2353:2489 */\n pop\n /* \"#utility.yul\":2300:2489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2495:2681 */\ntag_20:\n /* \"#utility.yul\":2555:2675 */\ntag_55:\n /* \"#utility.yul\":2572:2575 */\n dup2\n /* \"#utility.yul\":2565:2570 */\n dup2\n /* \"#utility.yul\":2562:2576 */\n lt\n /* \"#utility.yul\":2555:2675 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":2626:2665 */\n tag_58\n /* \"#utility.yul\":2663:2664 */\n 0x00\n /* \"#utility.yul\":2656:2661 */\n dup3\n /* \"#utility.yul\":2626:2665 */\n tag_19\n jump\t// in\ntag_58:\n /* \"#utility.yul\":2599:2600 */\n 0x01\n /* \"#utility.yul\":2592:2597 */\n dup2\n /* \"#utility.yul\":2588:2601 */\n add\n /* \"#utility.yul\":2579:2601 */\n swap1\n pop\n /* \"#utility.yul\":2555:2675 */\n jump(tag_55)\ntag_57:\n /* \"#utility.yul\":2495:2681 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2687:3230 */\ntag_21:\n /* \"#utility.yul\":2788:2790 */\n 0x1f\n /* \"#utility.yul\":2783:2786 */\n dup3\n /* \"#utility.yul\":2780:2791 */\n gt\n /* \"#utility.yul\":2777:3223 */\n iszero\n tag_60\n jumpi\n /* \"#utility.yul\":2822:2860 */\n tag_61\n /* \"#utility.yul\":2854:2859 */\n dup2\n /* \"#utility.yul\":2822:2860 */\n tag_9\n jump\t// in\ntag_61:\n /* \"#utility.yul\":2906:2935 */\n tag_62\n /* \"#utility.yul\":2924:2934 */\n dup5\n /* \"#utility.yul\":2906:2935 */\n tag_10\n jump\t// in\ntag_62:\n /* \"#utility.yul\":2896:2904 */\n dup2\n /* \"#utility.yul\":2892:2936 */\n add\n /* \"#utility.yul\":3089:3091 */\n 0x20\n /* \"#utility.yul\":3077:3087 */\n dup6\n /* \"#utility.yul\":3074:3092 */\n lt\n /* \"#utility.yul\":3071:3120 */\n iszero\n tag_63\n jumpi\n /* \"#utility.yul\":3110:3118 */\n dup2\n /* \"#utility.yul\":3095:3118 */\n swap1\n pop\n /* \"#utility.yul\":3071:3120 */\ntag_63:\n /* \"#utility.yul\":3133:3213 */\n tag_64\n /* \"#utility.yul\":3189:3211 */\n tag_65\n /* \"#utility.yul\":3207:3210 */\n dup6\n /* \"#utility.yul\":3189:3211 */\n tag_10\n jump\t// in\ntag_65:\n /* \"#utility.yul\":3179:3187 */\n dup4\n /* \"#utility.yul\":3175:3212 */\n add\n /* \"#utility.yul\":3162:3173 */\n dup3\n /* \"#utility.yul\":3133:3213 */\n tag_20\n jump\t// in\ntag_64:\n /* \"#utility.yul\":2792:3223 */\n pop\n pop\n /* \"#utility.yul\":2777:3223 */\ntag_60:\n /* \"#utility.yul\":2687:3230 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3236:3353 */\ntag_22:\n /* \"#utility.yul\":3290:3298 */\n 0x00\n /* \"#utility.yul\":3340:3345 */\n dup3\n /* \"#utility.yul\":3334:3338 */\n dup3\n /* \"#utility.yul\":3330:3346 */\n shr\n /* \"#utility.yul\":3309:3346 */\n swap1\n pop\n /* \"#utility.yul\":3236:3353 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3359:3528 */\ntag_23:\n /* \"#utility.yul\":3403:3409 */\n 0x00\n /* \"#utility.yul\":3436:3487 */\n tag_68\n /* \"#utility.yul\":3484:3485 */\n 0x00\n /* \"#utility.yul\":3480:3486 */\n not\n /* \"#utility.yul\":3472:3477 */\n dup5\n /* \"#utility.yul\":3469:3470 */\n 0x08\n /* \"#utility.yul\":3465:3478 */\n mul\n /* \"#utility.yul\":3436:3487 */\n tag_22\n jump\t// in\ntag_68:\n /* \"#utility.yul\":3432:3488 */\n not\n /* \"#utility.yul\":3517:3521 */\n dup1\n /* \"#utility.yul\":3511:3515 */\n dup4\n /* \"#utility.yul\":3507:3522 */\n and\n /* \"#utility.yul\":3497:3522 */\n swap2\n pop\n /* \"#utility.yul\":3410:3528 */\n pop\n /* \"#utility.yul\":3359:3528 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3533:3828 */\ntag_24:\n /* \"#utility.yul\":3609:3613 */\n 0x00\n /* \"#utility.yul\":3755:3784 */\n tag_70\n /* \"#utility.yul\":3780:3783 */\n dup4\n /* \"#utility.yul\":3774:3778 */\n dup4\n /* \"#utility.yul\":3755:3784 */\n tag_23\n jump\t// in\ntag_70:\n /* \"#utility.yul\":3747:3784 */\n swap2\n pop\n /* \"#utility.yul\":3817:3820 */\n dup3\n /* \"#utility.yul\":3814:3815 */\n 0x02\n /* \"#utility.yul\":3810:3821 */\n mul\n /* \"#utility.yul\":3804:3808 */\n dup3\n /* \"#utility.yul\":3801:3822 */\n or\n /* \"#utility.yul\":3793:3822 */\n swap1\n pop\n /* \"#utility.yul\":3533:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3833:5228 */\ntag_2:\n /* \"#utility.yul\":3950:3987 */\n tag_72\n /* \"#utility.yul\":3983:3986 */\n dup3\n /* \"#utility.yul\":3950:3987 */\n tag_5\n jump\t// in\ntag_72:\n /* \"#utility.yul\":4052:4070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4044:4050 */\n dup2\n /* \"#utility.yul\":4041:4071 */\n gt\n /* \"#utility.yul\":4038:4094 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":4074:4092 */\n tag_74\n tag_6\n jump\t// in\ntag_74:\n /* \"#utility.yul\":4038:4094 */\ntag_73:\n /* \"#utility.yul\":4118:4156 */\n tag_75\n /* \"#utility.yul\":4150:4154 */\n dup3\n /* \"#utility.yul\":4144:4155 */\n sload\n /* \"#utility.yul\":4118:4156 */\n tag_8\n jump\t// in\ntag_75:\n /* \"#utility.yul\":4203:4270 */\n tag_76\n /* \"#utility.yul\":4263:4269 */\n dup3\n /* \"#utility.yul\":4255:4261 */\n dup3\n /* \"#utility.yul\":4249:4253 */\n dup6\n /* \"#utility.yul\":4203:4270 */\n tag_21\n jump\t// in\ntag_76:\n /* \"#utility.yul\":4297:4298 */\n 0x00\n /* \"#utility.yul\":4321:4325 */\n 0x20\n /* \"#utility.yul\":4308:4325 */\n swap1\n pop\n /* \"#utility.yul\":4353:4355 */\n 0x1f\n /* \"#utility.yul\":4345:4351 */\n dup4\n /* \"#utility.yul\":4342:4356 */\n gt\n /* \"#utility.yul\":4370:4371 */\n 0x01\n /* \"#utility.yul\":4365:4983 */\n dup2\n eq\n tag_78\n jumpi\n /* \"#utility.yul\":5027:5028 */\n 0x00\n /* \"#utility.yul\":5044:5050 */\n dup5\n /* \"#utility.yul\":5041:5118 */\n iszero\n tag_79\n jumpi\n /* \"#utility.yul\":5093:5102 */\n dup3\n /* \"#utility.yul\":5088:5091 */\n dup8\n /* \"#utility.yul\":5084:5103 */\n add\n /* \"#utility.yul\":5078:5104 */\n mload\n /* \"#utility.yul\":5069:5104 */\n swap1\n pop\n /* \"#utility.yul\":5041:5118 */\ntag_79:\n /* \"#utility.yul\":5144:5211 */\n tag_80\n /* \"#utility.yul\":5204:5210 */\n dup6\n /* \"#utility.yul\":5197:5202 */\n dup3\n /* \"#utility.yul\":5144:5211 */\n tag_24\n jump\t// in\ntag_80:\n /* \"#utility.yul\":5138:5142 */\n dup7\n /* \"#utility.yul\":5131:5212 */\n sstore\n /* \"#utility.yul\":5000:5222 */\n pop\n /* \"#utility.yul\":4335:5222 */\n jump(tag_77)\n /* \"#utility.yul\":4365:4983 */\ntag_78:\n /* \"#utility.yul\":4417:4421 */\n 0x1f\n /* \"#utility.yul\":4413:4422 */\n not\n /* \"#utility.yul\":4405:4411 */\n dup5\n /* \"#utility.yul\":4401:4423 */\n and\n /* \"#utility.yul\":4451:4488 */\n tag_81\n /* \"#utility.yul\":4483:4487 */\n dup7\n /* \"#utility.yul\":4451:4488 */\n tag_9\n jump\t// in\ntag_81:\n /* \"#utility.yul\":4510:4511 */\n 0x00\n /* \"#utility.yul\":4524:4732 */\ntag_82:\n /* \"#utility.yul\":4538:4545 */\n dup3\n /* \"#utility.yul\":4535:4536 */\n dup2\n /* \"#utility.yul\":4532:4546 */\n lt\n /* \"#utility.yul\":4524:4732 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":4617:4626 */\n dup5\n /* \"#utility.yul\":4612:4615 */\n dup10\n /* \"#utility.yul\":4608:4627 */\n add\n /* \"#utility.yul\":4602:4628 */\n mload\n /* \"#utility.yul\":4594:4600 */\n dup3\n /* \"#utility.yul\":4587:4629 */\n sstore\n /* \"#utility.yul\":4668:4669 */\n 0x01\n /* \"#utility.yul\":4660:4666 */\n dup3\n /* \"#utility.yul\":4656:4670 */\n add\n /* \"#utility.yul\":4646:4670 */\n swap2\n pop\n /* \"#utility.yul\":4715:4717 */\n 0x20\n /* \"#utility.yul\":4704:4713 */\n dup6\n /* \"#utility.yul\":4700:4718 */\n add\n /* \"#utility.yul\":4687:4718 */\n swap5\n pop\n /* \"#utility.yul\":4561:4565 */\n 0x20\n /* \"#utility.yul\":4558:4559 */\n dup2\n /* \"#utility.yul\":4554:4566 */\n add\n /* \"#utility.yul\":4549:4566 */\n swap1\n pop\n /* \"#utility.yul\":4524:4732 */\n jump(tag_82)\ntag_84:\n /* \"#utility.yul\":4760:4766 */\n dup7\n /* \"#utility.yul\":4751:4758 */\n dup4\n /* \"#utility.yul\":4748:4767 */\n lt\n /* \"#utility.yul\":4745:4924 */\n iszero\n tag_85\n jumpi\n /* \"#utility.yul\":4818:4827 */\n dup5\n /* \"#utility.yul\":4813:4816 */\n dup10\n /* \"#utility.yul\":4809:4828 */\n add\n /* \"#utility.yul\":4803:4829 */\n mload\n /* \"#utility.yul\":4861:4909 */\n tag_86\n /* \"#utility.yul\":4903:4907 */\n 0x1f\n /* \"#utility.yul\":4895:4901 */\n dup10\n /* \"#utility.yul\":4891:4908 */\n and\n /* \"#utility.yul\":4880:4889 */\n dup3\n /* \"#utility.yul\":4861:4909 */\n tag_23\n jump\t// in\ntag_86:\n /* \"#utility.yul\":4853:4859 */\n dup4\n /* \"#utility.yul\":4846:4910 */\n sstore\n /* \"#utility.yul\":4768:4924 */\n pop\n /* \"#utility.yul\":4745:4924 */\ntag_85:\n /* \"#utility.yul\":4970:4971 */\n 0x01\n /* \"#utility.yul\":4966:4967 */\n 0x02\n /* \"#utility.yul\":4958:4964 */\n dup9\n /* \"#utility.yul\":4954:4968 */\n mul\n /* \"#utility.yul\":4950:4972 */\n add\n /* \"#utility.yul\":4944:4948 */\n dup9\n /* \"#utility.yul\":4937:4973 */\n sstore\n /* \"#utility.yul\":4372:4983 */\n pop\n pop\n pop\n /* \"#utility.yul\":4335:5222 */\ntag_77:\n pop\n /* \"#utility.yul\":3925:5228 */\n pop\n pop\n pop\n /* \"#utility.yul\":3833:5228 */\n pop\n pop\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":68:1028 contract SimpleStorage {... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/experiences/001/SimpleStorage.sol\":68:1028 contract SimpleStorage {... */\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 0x6f760f41\n gt\n tag_11\n jumpi\n dup1\n 0x6f760f41\n eq\n tag_7\n jumpi\n dup1\n 0x77ec2b55\n eq\n tag_8\n jumpi\n dup1\n 0x8bab8dd5\n eq\n tag_9\n jumpi\n dup1\n 0x9e7a13ad\n eq\n tag_10\n jumpi\n jump(tag_2)\n tag_11:\n dup1\n 0x076ce4c6\n eq\n tag_3\n jumpi\n dup1\n 0x2e64cec1\n eq\n tag_4\n jumpi\n dup1\n 0x471f7cdf\n eq\n tag_5\n jumpi\n dup1\n 0x6057361d\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/experiences/001/SimpleStorage.sol\":678:777 function calculAddition(uint256 _favoriteNumber) public pure {... */\n tag_3:\n tag_12\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n tag_15\n jump\t// in\n tag_12:\n stop\n /* \"contracts/experiences/001/SimpleStorage.sol\":546:635 function retrieve() public view returns(uint256) {... */\n tag_4:\n tag_16\n tag_17\n jump\t// in\n tag_16:\n mload(0x40)\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/experiences/001/SimpleStorage.sol\":98:127 uint256 public favoriteNumber */\n tag_5:\n tag_20\n tag_21\n jump\t// in\n tag_20:\n mload(0x40)\n tag_22\n swap2\n swap1\n tag_19\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/experiences/001/SimpleStorage.sol\":416:514 function store(uint256 _favoriteNumber) public {... */\n tag_6:\n tag_23\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_24\n swap2\n swap1\n tag_14\n jump\t// in\n tag_24:\n tag_25\n jump\t// in\n tag_23:\n stop\n /* \"contracts/experiences/001/SimpleStorage.sol\":811:1025 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n tag_7:\n tag_26\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_27\n swap2\n swap1\n tag_28\n jump\t// in\n tag_27:\n tag_29\n jump\t// in\n tag_26:\n stop\n /* \"contracts/experiences/001/SimpleStorage.sol\":313:405 People public person = People({... */\n tag_8:\n tag_30\n tag_31\n jump\t// in\n tag_30:\n mload(0x40)\n tag_32\n swap3\n swap2\n swap1\n tag_33\n jump\t// in\n tag_32:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/experiences/001/SimpleStorage.sol\":250:304 mapping(string => uint256) public nameToFavoriteNumber */\n tag_9:\n tag_34\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_35\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n tag_37\n jump\t// in\n tag_34:\n mload(0x40)\n tag_38\n swap2\n swap1\n tag_19\n jump\t// in\n tag_38:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/experiences/001/SimpleStorage.sol\":221:243 People[] public people */\n tag_10:\n tag_39\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_40\n swap2\n swap1\n tag_14\n jump\t// in\n tag_40:\n tag_41\n jump\t// in\n tag_39:\n mload(0x40)\n tag_42\n swap3\n swap2\n swap1\n tag_33\n jump\t// in\n tag_42:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/experiences/001/SimpleStorage.sol\":678:777 function calculAddition(uint256 _favoriteNumber) public pure {... */\n tag_15:\n /* \"contracts/experiences/001/SimpleStorage.sol\":768:769 2 */\n 0x02\n /* \"contracts/experiences/001/SimpleStorage.sol\":750:765 _favoriteNumber */\n dup2\n /* \"contracts/experiences/001/SimpleStorage.sol\":750:769 _favoriteNumber * 2 */\n tag_44\n swap2\n swap1\n tag_45\n jump\t// in\n tag_44:\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":678:777 function calculAddition(uint256 _favoriteNumber) public pure {... */\n pop\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":546:635 function retrieve() public view returns(uint256) {... */\n tag_17:\n /* \"contracts/experiences/001/SimpleStorage.sol\":586:593 uint256 */\n 0x00\n /* \"contracts/experiences/001/SimpleStorage.sol\":613:627 favoriteNumber */\n dup1\n sload\n /* \"contracts/experiences/001/SimpleStorage.sol\":606:627 return favoriteNumber */\n swap1\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":546:635 function retrieve() public view returns(uint256) {... */\n swap1\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":98:127 uint256 public favoriteNumber */\n tag_21:\n sload(0x00)\n dup2\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":416:514 function store(uint256 _favoriteNumber) public {... */\n tag_25:\n /* \"contracts/experiences/001/SimpleStorage.sol\":491:506 _favoriteNumber */\n dup1\n /* \"contracts/experiences/001/SimpleStorage.sol\":474:488 favoriteNumber */\n 0x00\n /* \"contracts/experiences/001/SimpleStorage.sol\":474:506 favoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":416:514 function store(uint256 _favoriteNumber) public {... */\n pop\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":811:1025 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n tag_29:\n /* \"contracts/experiences/001/SimpleStorage.sol\":894:900 people */\n 0x01\n /* \"contracts/experiences/001/SimpleStorage.sol\":906:960 People({favoriteNumber: _favoriteNumber, name: _name}) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/experiences/001/SimpleStorage.sol\":930:945 _favoriteNumber */\n dup4\n /* \"contracts/experiences/001/SimpleStorage.sol\":906:960 People({favoriteNumber: _favoriteNumber, name: _name}) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/experiences/001/SimpleStorage.sol\":953:958 _name */\n dup5\n /* \"contracts/experiences/001/SimpleStorage.sol\":906:960 People({favoriteNumber: _favoriteNumber, name: _name}) */\n dup2\n mstore\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":894:961 people.push(People({favoriteNumber: _favoriteNumber, name: _name})) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup2\n tag_50\n swap2\n swap1\n tag_51\n jump\t// in\n tag_50:\n pop\n pop\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":1002:1017 _favoriteNumber */\n dup1\n /* \"contracts/experiences/001/SimpleStorage.sol\":972:992 nameToFavoriteNumber */\n 0x02\n /* \"contracts/experiences/001/SimpleStorage.sol\":993:998 _name */\n dup4\n /* \"contracts/experiences/001/SimpleStorage.sol\":972:999 nameToFavoriteNumber[_name] */\n mload(0x40)\n tag_52\n swap2\n swap1\n tag_53\n jump\t// in\n tag_52:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"contracts/experiences/001/SimpleStorage.sol\":972:1017 nameToFavoriteNumber[_name] = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/experiences/001/SimpleStorage.sol\":811:1025 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n pop\n pop\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":313:405 People public person = People({... */\n tag_31:\n 0x03\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_54\n swap1\n tag_55\n jump\t// in\n tag_54:\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_56\n swap1\n tag_55\n jump\t// in\n tag_56:\n dup1\n iszero\n tag_57\n jumpi\n dup1\n 0x1f\n lt\n tag_58\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_57)\n tag_58:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_59:\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_59\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_57:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":250:304 mapping(string => uint256) public nameToFavoriteNumber */\n tag_37:\n 0x02\n dup2\n dup1\n mload\n 0x20\n dup2\n add\n dup3\n add\n dup1\n mload\n dup5\n dup3\n mstore\n 0x20\n dup4\n add\n 0x20\n dup6\n add\n keccak256\n dup2\n dup4\n mstore\n dup1\n swap6\n pop\n pop\n pop\n pop\n pop\n pop\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"contracts/experiences/001/SimpleStorage.sol\":221:243 People[] public people */\n tag_41:\n 0x01\n dup2\n dup2\n sload\n dup2\n lt\n tag_60\n jumpi\n 0x00\n dup1\n revert\n tag_60:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap2\n pop\n swap1\n pop\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_62\n swap1\n tag_55\n jump\t// in\n tag_62:\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_63\n swap1\n tag_55\n jump\t// in\n tag_63:\n dup1\n iszero\n tag_64\n jumpi\n dup1\n 0x1f\n lt\n tag_65\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_64)\n tag_65:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_66:\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_66\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_64:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"#utility.yul\":7:82 */\n tag_67:\n /* \"#utility.yul\":40:46 */\n 0x00\n /* \"#utility.yul\":73:75 */\n 0x40\n /* \"#utility.yul\":67:76 */\n mload\n /* \"#utility.yul\":57:76 */\n swap1\n pop\n /* \"#utility.yul\":7:82 */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_68:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_69:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_70:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_71:\n /* \"#utility.yul\":490:514 */\n tag_113\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_70\n jump\t// in\n tag_113:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_114\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_114:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_72:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_116\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_71\n jump\t// in\n tag_116:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_14:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_118\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_119\n tag_68\n jump\t// in\n tag_119:\n /* \"#utility.yul\":766:885 */\n tag_118:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_120\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_72\n jump\t// in\n tag_120:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1143 */\n tag_73:\n /* \"#utility.yul\":1112:1136 */\n tag_122\n /* \"#utility.yul\":1130:1135 */\n dup2\n /* \"#utility.yul\":1112:1136 */\n tag_70\n jump\t// in\n tag_122:\n /* \"#utility.yul\":1107:1110 */\n dup3\n /* \"#utility.yul\":1100:1137 */\n mstore\n /* \"#utility.yul\":1025:1143 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1149:1371 */\n tag_19:\n /* \"#utility.yul\":1242:1246 */\n 0x00\n /* \"#utility.yul\":1280:1282 */\n 0x20\n /* \"#utility.yul\":1269:1278 */\n dup3\n /* \"#utility.yul\":1265:1283 */\n add\n /* \"#utility.yul\":1257:1283 */\n swap1\n pop\n /* \"#utility.yul\":1293:1364 */\n tag_124\n /* \"#utility.yul\":1361:1362 */\n 0x00\n /* \"#utility.yul\":1350:1359 */\n dup4\n /* \"#utility.yul\":1346:1363 */\n add\n /* \"#utility.yul\":1337:1343 */\n dup5\n /* \"#utility.yul\":1293:1364 */\n tag_73\n jump\t// in\n tag_124:\n /* \"#utility.yul\":1149:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1494 */\n tag_74:\n /* \"#utility.yul\":1486:1487 */\n 0x00\n /* \"#utility.yul\":1483:1484 */\n dup1\n /* \"#utility.yul\":1476:1488 */\n revert\n /* \"#utility.yul\":1500:1617 */\n tag_75:\n /* \"#utility.yul\":1609:1610 */\n 0x00\n /* \"#utility.yul\":1606:1607 */\n dup1\n /* \"#utility.yul\":1599:1611 */\n revert\n /* \"#utility.yul\":1623:1725 */\n tag_76:\n /* \"#utility.yul\":1664:1670 */\n 0x00\n /* \"#utility.yul\":1715:1717 */\n 0x1f\n /* \"#utility.yul\":1711:1718 */\n not\n /* \"#utility.yul\":1706:1708 */\n 0x1f\n /* \"#utility.yul\":1699:1704 */\n dup4\n /* \"#utility.yul\":1695:1709 */\n add\n /* \"#utility.yul\":1691:1719 */\n and\n /* \"#utility.yul\":1681:1719 */\n swap1\n pop\n /* \"#utility.yul\":1623:1725 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1731:1911 */\n tag_77:\n /* \"#utility.yul\":1779:1856 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1776:1777 */\n 0x00\n /* \"#utility.yul\":1769:1857 */\n mstore\n /* \"#utility.yul\":1876:1880 */\n 0x41\n /* \"#utility.yul\":1873:1874 */\n 0x04\n /* \"#utility.yul\":1866:1881 */\n mstore\n /* \"#utility.yul\":1900:1904 */\n 0x24\n /* \"#utility.yul\":1897:1898 */\n 0x00\n /* \"#utility.yul\":1890:1905 */\n revert\n /* \"#utility.yul\":1917:2198 */\n tag_78:\n /* \"#utility.yul\":2000:2027 */\n tag_130\n /* \"#utility.yul\":2022:2026 */\n dup3\n /* \"#utility.yul\":2000:2027 */\n tag_76\n jump\t// in\n tag_130:\n /* \"#utility.yul\":1992:1998 */\n dup2\n /* \"#utility.yul\":1988:2028 */\n add\n /* \"#utility.yul\":2130:2136 */\n dup2\n /* \"#utility.yul\":2118:2128 */\n dup2\n /* \"#utility.yul\":2115:2137 */\n lt\n /* \"#utility.yul\":2094:2112 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2082:2092 */\n dup3\n /* \"#utility.yul\":2079:2113 */\n gt\n /* \"#utility.yul\":2076:2138 */\n or\n /* \"#utility.yul\":2073:2161 */\n iszero\n tag_131\n jumpi\n /* \"#utility.yul\":2141:2159 */\n tag_132\n tag_77\n jump\t// in\n tag_132:\n /* \"#utility.yul\":2073:2161 */\n tag_131:\n /* \"#utility.yul\":2181:2191 */\n dup1\n /* \"#utility.yul\":2177:2179 */\n 0x40\n /* \"#utility.yul\":2170:2192 */\n mstore\n /* \"#utility.yul\":1960:2198 */\n pop\n /* \"#utility.yul\":1917:2198 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2204:2333 */\n tag_79:\n /* \"#utility.yul\":2238:2244 */\n 0x00\n /* \"#utility.yul\":2265:2285 */\n tag_134\n tag_67\n jump\t// in\n tag_134:\n /* \"#utility.yul\":2255:2285 */\n swap1\n pop\n /* \"#utility.yul\":2294:2327 */\n tag_135\n /* \"#utility.yul\":2322:2326 */\n dup3\n /* \"#utility.yul\":2314:2320 */\n dup3\n /* \"#utility.yul\":2294:2327 */\n tag_78\n jump\t// in\n tag_135:\n /* \"#utility.yul\":2204:2333 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2339:2647 */\n tag_80:\n /* \"#utility.yul\":2401:2405 */\n 0x00\n /* \"#utility.yul\":2491:2509 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2483:2489 */\n dup3\n /* \"#utility.yul\":2480:2510 */\n gt\n /* \"#utility.yul\":2477:2533 */\n iszero\n tag_137\n jumpi\n /* \"#utility.yul\":2513:2531 */\n tag_138\n tag_77\n jump\t// in\n tag_138:\n /* \"#utility.yul\":2477:2533 */\n tag_137:\n /* \"#utility.yul\":2551:2580 */\n tag_139\n /* \"#utility.yul\":2573:2579 */\n dup3\n /* \"#utility.yul\":2551:2580 */\n tag_76\n jump\t// in\n tag_139:\n /* \"#utility.yul\":2543:2580 */\n swap1\n pop\n /* \"#utility.yul\":2635:2639 */\n 0x20\n /* \"#utility.yul\":2629:2633 */\n dup2\n /* \"#utility.yul\":2625:2640 */\n add\n /* \"#utility.yul\":2617:2640 */\n swap1\n pop\n /* \"#utility.yul\":2339:2647 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2653:2799 */\n tag_81:\n /* \"#utility.yul\":2750:2756 */\n dup3\n /* \"#utility.yul\":2745:2748 */\n dup2\n /* \"#utility.yul\":2740:2743 */\n dup4\n /* \"#utility.yul\":2727:2757 */\n calldatacopy\n /* \"#utility.yul\":2791:2792 */\n 0x00\n /* \"#utility.yul\":2782:2788 */\n dup4\n /* \"#utility.yul\":2777:2780 */\n dup4\n /* \"#utility.yul\":2773:2789 */\n add\n /* \"#utility.yul\":2766:2793 */\n mstore\n /* \"#utility.yul\":2653:2799 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2805:3230 */\n tag_82:\n /* \"#utility.yul\":2883:2888 */\n 0x00\n /* \"#utility.yul\":2908:2974 */\n tag_142\n /* \"#utility.yul\":2924:2973 */\n tag_143\n /* \"#utility.yul\":2966:2972 */\n dup5\n /* \"#utility.yul\":2924:2973 */\n tag_80\n jump\t// in\n tag_143:\n /* \"#utility.yul\":2908:2974 */\n tag_79\n jump\t// in\n tag_142:\n /* \"#utility.yul\":2899:2974 */\n swap1\n pop\n /* \"#utility.yul\":2997:3003 */\n dup3\n /* \"#utility.yul\":2990:2995 */\n dup2\n /* \"#utility.yul\":2983:3004 */\n mstore\n /* \"#utility.yul\":3035:3039 */\n 0x20\n /* \"#utility.yul\":3028:3033 */\n dup2\n /* \"#utility.yul\":3024:3040 */\n add\n /* \"#utility.yul\":3073:3076 */\n dup5\n /* \"#utility.yul\":3064:3070 */\n dup5\n /* \"#utility.yul\":3059:3062 */\n dup5\n /* \"#utility.yul\":3055:3071 */\n add\n /* \"#utility.yul\":3052:3077 */\n gt\n /* \"#utility.yul\":3049:3161 */\n iszero\n tag_144\n jumpi\n /* \"#utility.yul\":3080:3159 */\n tag_145\n tag_75\n jump\t// in\n tag_145:\n /* \"#utility.yul\":3049:3161 */\n tag_144:\n /* \"#utility.yul\":3170:3224 */\n tag_146\n /* \"#utility.yul\":3217:3223 */\n dup5\n /* \"#utility.yul\":3212:3215 */\n dup3\n /* \"#utility.yul\":3207:3210 */\n dup6\n /* \"#utility.yul\":3170:3224 */\n tag_81\n jump\t// in\n tag_146:\n /* \"#utility.yul\":2889:3230 */\n pop\n /* \"#utility.yul\":2805:3230 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3250:3590 */\n tag_83:\n /* \"#utility.yul\":3306:3311 */\n 0x00\n /* \"#utility.yul\":3355:3358 */\n dup3\n /* \"#utility.yul\":3348:3352 */\n 0x1f\n /* \"#utility.yul\":3340:3346 */\n dup4\n /* \"#utility.yul\":3336:3353 */\n add\n /* \"#utility.yul\":3332:3359 */\n slt\n /* \"#utility.yul\":3322:3444 */\n tag_148\n jumpi\n /* \"#utility.yul\":3363:3442 */\n tag_149\n tag_74\n jump\t// in\n tag_149:\n /* \"#utility.yul\":3322:3444 */\n tag_148:\n /* \"#utility.yul\":3480:3486 */\n dup2\n /* \"#utility.yul\":3467:3487 */\n calldataload\n /* \"#utility.yul\":3505:3584 */\n tag_150\n /* \"#utility.yul\":3580:3583 */\n dup5\n /* \"#utility.yul\":3572:3578 */\n dup3\n /* \"#utility.yul\":3565:3569 */\n 0x20\n /* \"#utility.yul\":3557:3563 */\n dup7\n /* \"#utility.yul\":3553:3570 */\n add\n /* \"#utility.yul\":3505:3584 */\n tag_82\n jump\t// in\n tag_150:\n /* \"#utility.yul\":3496:3584 */\n swap2\n pop\n /* \"#utility.yul\":3312:3590 */\n pop\n /* \"#utility.yul\":3250:3590 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3596:4250 */\n tag_28:\n /* \"#utility.yul\":3674:3680 */\n 0x00\n /* \"#utility.yul\":3682:3688 */\n dup1\n /* \"#utility.yul\":3731:3733 */\n 0x40\n /* \"#utility.yul\":3719:3728 */\n dup4\n /* \"#utility.yul\":3710:3717 */\n dup6\n /* \"#utility.yul\":3706:3729 */\n sub\n /* \"#utility.yul\":3702:3734 */\n slt\n /* \"#utility.yul\":3699:3818 */\n iszero\n tag_152\n jumpi\n /* \"#utility.yul\":3737:3816 */\n tag_153\n tag_68\n jump\t// in\n tag_153:\n /* \"#utility.yul\":3699:3818 */\n tag_152:\n /* \"#utility.yul\":3885:3886 */\n 0x00\n /* \"#utility.yul\":3874:3883 */\n dup4\n /* \"#utility.yul\":3870:3887 */\n add\n /* \"#utility.yul\":3857:3888 */\n calldataload\n /* \"#utility.yul\":3915:3933 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3907:3913 */\n dup2\n /* \"#utility.yul\":3904:3934 */\n gt\n /* \"#utility.yul\":3901:4018 */\n iszero\n tag_154\n jumpi\n /* \"#utility.yul\":3937:4016 */\n tag_155\n tag_69\n jump\t// in\n tag_155:\n /* \"#utility.yul\":3901:4018 */\n tag_154:\n /* \"#utility.yul\":4042:4105 */\n tag_156\n /* \"#utility.yul\":4097:4104 */\n dup6\n /* \"#utility.yul\":4088:4094 */\n dup3\n /* \"#utility.yul\":4077:4086 */\n dup7\n /* \"#utility.yul\":4073:4095 */\n add\n /* \"#utility.yul\":4042:4105 */\n tag_83\n jump\t// in\n tag_156:\n /* \"#utility.yul\":4032:4105 */\n swap3\n pop\n /* \"#utility.yul\":3828:4115 */\n pop\n /* \"#utility.yul\":4154:4156 */\n 0x20\n /* \"#utility.yul\":4180:4233 */\n tag_157\n /* \"#utility.yul\":4225:4232 */\n dup6\n /* \"#utility.yul\":4216:4222 */\n dup3\n /* \"#utility.yul\":4205:4214 */\n dup7\n /* \"#utility.yul\":4201:4223 */\n add\n /* \"#utility.yul\":4180:4233 */\n tag_72\n jump\t// in\n tag_157:\n /* \"#utility.yul\":4170:4233 */\n swap2\n pop\n /* \"#utility.yul\":4125:4243 */\n pop\n /* \"#utility.yul\":3596:4250 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4256:4355 */\n tag_84:\n /* \"#utility.yul\":4308:4314 */\n 0x00\n /* \"#utility.yul\":4342:4347 */\n dup2\n /* \"#utility.yul\":4336:4348 */\n mload\n /* \"#utility.yul\":4326:4348 */\n swap1\n pop\n /* \"#utility.yul\":4256:4355 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4361:4530 */\n tag_85:\n /* \"#utility.yul\":4445:4456 */\n 0x00\n /* \"#utility.yul\":4479:4485 */\n dup3\n /* \"#utility.yul\":4474:4477 */\n dup3\n /* \"#utility.yul\":4467:4486 */\n mstore\n /* \"#utility.yul\":4519:4523 */\n 0x20\n /* \"#utility.yul\":4514:4517 */\n dup3\n /* \"#utility.yul\":4510:4524 */\n add\n /* \"#utility.yul\":4495:4524 */\n swap1\n pop\n /* \"#utility.yul\":4361:4530 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4536:4782 */\n tag_86:\n /* \"#utility.yul\":4617:4618 */\n 0x00\n /* \"#utility.yul\":4627:4740 */\n tag_161:\n /* \"#utility.yul\":4641:4647 */\n dup4\n /* \"#utility.yul\":4638:4639 */\n dup2\n /* \"#utility.yul\":4635:4648 */\n lt\n /* \"#utility.yul\":4627:4740 */\n iszero\n tag_163\n jumpi\n /* \"#utility.yul\":4726:4727 */\n dup1\n /* \"#utility.yul\":4721:4724 */\n dup3\n /* \"#utility.yul\":4717:4728 */\n add\n /* \"#utility.yul\":4711:4729 */\n mload\n /* \"#utility.yul\":4707:4708 */\n dup2\n /* \"#utility.yul\":4702:4705 */\n dup5\n /* \"#utility.yul\":4698:4709 */\n add\n /* \"#utility.yul\":4691:4730 */\n mstore\n /* \"#utility.yul\":4663:4665 */\n 0x20\n /* \"#utility.yul\":4660:4661 */\n dup2\n /* \"#utility.yul\":4656:4666 */\n add\n /* \"#utility.yul\":4651:4666 */\n swap1\n pop\n /* \"#utility.yul\":4627:4740 */\n jump(tag_161)\n tag_163:\n /* \"#utility.yul\":4774:4775 */\n 0x00\n /* \"#utility.yul\":4765:4771 */\n dup5\n /* \"#utility.yul\":4760:4763 */\n dup5\n /* \"#utility.yul\":4756:4772 */\n add\n /* \"#utility.yul\":4749:4776 */\n mstore\n /* \"#utility.yul\":4598:4782 */\n pop\n /* \"#utility.yul\":4536:4782 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4788:5165 */\n tag_87:\n /* \"#utility.yul\":4876:4879 */\n 0x00\n /* \"#utility.yul\":4904:4943 */\n tag_165\n /* \"#utility.yul\":4937:4942 */\n dup3\n /* \"#utility.yul\":4904:4943 */\n tag_84\n jump\t// in\n tag_165:\n /* \"#utility.yul\":4959:5030 */\n tag_166\n /* \"#utility.yul\":5023:5029 */\n dup2\n /* \"#utility.yul\":5018:5021 */\n dup6\n /* \"#utility.yul\":4959:5030 */\n tag_85\n jump\t// in\n tag_166:\n /* \"#utility.yul\":4952:5030 */\n swap4\n pop\n /* \"#utility.yul\":5039:5104 */\n tag_167\n /* \"#utility.yul\":5097:5103 */\n dup2\n /* \"#utility.yul\":5092:5095 */\n dup6\n /* \"#utility.yul\":5085:5089 */\n 0x20\n /* \"#utility.yul\":5078:5083 */\n dup7\n /* \"#utility.yul\":5074:5090 */\n add\n /* \"#utility.yul\":5039:5104 */\n tag_86\n jump\t// in\n tag_167:\n /* \"#utility.yul\":5129:5158 */\n tag_168\n /* \"#utility.yul\":5151:5157 */\n dup2\n /* \"#utility.yul\":5129:5158 */\n tag_76\n jump\t// in\n tag_168:\n /* \"#utility.yul\":5124:5127 */\n dup5\n /* \"#utility.yul\":5120:5159 */\n add\n /* \"#utility.yul\":5113:5159 */\n swap2\n pop\n /* \"#utility.yul\":4880:5165 */\n pop\n /* \"#utility.yul\":4788:5165 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5171:5594 */\n tag_33:\n /* \"#utility.yul\":5312:5316 */\n 0x00\n /* \"#utility.yul\":5350:5352 */\n 0x40\n /* \"#utility.yul\":5339:5348 */\n dup3\n /* \"#utility.yul\":5335:5353 */\n add\n /* \"#utility.yul\":5327:5353 */\n swap1\n pop\n /* \"#utility.yul\":5363:5434 */\n tag_170\n /* \"#utility.yul\":5431:5432 */\n 0x00\n /* \"#utility.yul\":5420:5429 */\n dup4\n /* \"#utility.yul\":5416:5433 */\n add\n /* \"#utility.yul\":5407:5413 */\n dup6\n /* \"#utility.yul\":5363:5434 */\n tag_73\n jump\t// in\n tag_170:\n /* \"#utility.yul\":5481:5490 */\n dup2\n /* \"#utility.yul\":5475:5479 */\n dup2\n /* \"#utility.yul\":5471:5491 */\n sub\n /* \"#utility.yul\":5466:5468 */\n 0x20\n /* \"#utility.yul\":5455:5464 */\n dup4\n /* \"#utility.yul\":5451:5469 */\n add\n /* \"#utility.yul\":5444:5492 */\n mstore\n /* \"#utility.yul\":5509:5587 */\n tag_171\n /* \"#utility.yul\":5582:5586 */\n dup2\n /* \"#utility.yul\":5573:5579 */\n dup5\n /* \"#utility.yul\":5509:5587 */\n tag_87\n jump\t// in\n tag_171:\n /* \"#utility.yul\":5501:5587 */\n swap1\n pop\n /* \"#utility.yul\":5171:5594 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5600:6109 */\n tag_36:\n /* \"#utility.yul\":5669:5675 */\n 0x00\n /* \"#utility.yul\":5718:5720 */\n 0x20\n /* \"#utility.yul\":5706:5715 */\n dup3\n /* \"#utility.yul\":5697:5704 */\n dup5\n /* \"#utility.yul\":5693:5716 */\n sub\n /* \"#utility.yul\":5689:5721 */\n slt\n /* \"#utility.yul\":5686:5805 */\n iszero\n tag_173\n jumpi\n /* \"#utility.yul\":5724:5803 */\n tag_174\n tag_68\n jump\t// in\n tag_174:\n /* \"#utility.yul\":5686:5805 */\n tag_173:\n /* \"#utility.yul\":5872:5873 */\n 0x00\n /* \"#utility.yul\":5861:5870 */\n dup3\n /* \"#utility.yul\":5857:5874 */\n add\n /* \"#utility.yul\":5844:5875 */\n calldataload\n /* \"#utility.yul\":5902:5920 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5894:5900 */\n dup2\n /* \"#utility.yul\":5891:5921 */\n gt\n /* \"#utility.yul\":5888:6005 */\n iszero\n tag_175\n jumpi\n /* \"#utility.yul\":5924:6003 */\n tag_176\n tag_69\n jump\t// in\n tag_176:\n /* \"#utility.yul\":5888:6005 */\n tag_175:\n /* \"#utility.yul\":6029:6092 */\n tag_177\n /* \"#utility.yul\":6084:6091 */\n dup5\n /* \"#utility.yul\":6075:6081 */\n dup3\n /* \"#utility.yul\":6064:6073 */\n dup6\n /* \"#utility.yul\":6060:6082 */\n add\n /* \"#utility.yul\":6029:6092 */\n tag_83\n jump\t// in\n tag_177:\n /* \"#utility.yul\":6019:6092 */\n swap2\n pop\n /* \"#utility.yul\":5815:6102 */\n pop\n /* \"#utility.yul\":5600:6109 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6115:6295 */\n tag_88:\n /* \"#utility.yul\":6163:6240 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6160:6161 */\n 0x00\n /* \"#utility.yul\":6153:6241 */\n mstore\n /* \"#utility.yul\":6260:6264 */\n 0x11\n /* \"#utility.yul\":6257:6258 */\n 0x04\n /* \"#utility.yul\":6250:6265 */\n mstore\n /* \"#utility.yul\":6284:6288 */\n 0x24\n /* \"#utility.yul\":6281:6282 */\n 0x00\n /* \"#utility.yul\":6274:6289 */\n revert\n /* \"#utility.yul\":6301:6711 */\n tag_45:\n /* \"#utility.yul\":6341:6348 */\n 0x00\n /* \"#utility.yul\":6364:6384 */\n tag_180\n /* \"#utility.yul\":6382:6383 */\n dup3\n /* \"#utility.yul\":6364:6384 */\n tag_70\n jump\t// in\n tag_180:\n /* \"#utility.yul\":6359:6384 */\n swap2\n pop\n /* \"#utility.yul\":6398:6418 */\n tag_181\n /* \"#utility.yul\":6416:6417 */\n dup4\n /* \"#utility.yul\":6398:6418 */\n tag_70\n jump\t// in\n tag_181:\n /* \"#utility.yul\":6393:6418 */\n swap3\n pop\n /* \"#utility.yul\":6453:6454 */\n dup3\n /* \"#utility.yul\":6450:6451 */\n dup3\n /* \"#utility.yul\":6446:6455 */\n mul\n /* \"#utility.yul\":6475:6505 */\n tag_182\n /* \"#utility.yul\":6493:6504 */\n dup2\n /* \"#utility.yul\":6475:6505 */\n tag_70\n jump\t// in\n tag_182:\n /* \"#utility.yul\":6464:6505 */\n swap2\n pop\n /* \"#utility.yul\":6654:6655 */\n dup3\n /* \"#utility.yul\":6645:6652 */\n dup3\n /* \"#utility.yul\":6641:6656 */\n div\n /* \"#utility.yul\":6638:6639 */\n dup5\n /* \"#utility.yul\":6635:6657 */\n eq\n /* \"#utility.yul\":6615:6616 */\n dup4\n /* \"#utility.yul\":6608:6617 */\n iszero\n /* \"#utility.yul\":6588:6671 */\n or\n /* \"#utility.yul\":6565:6704 */\n tag_183\n jumpi\n /* \"#utility.yul\":6684:6702 */\n tag_184\n tag_88\n jump\t// in\n tag_184:\n /* \"#utility.yul\":6565:6704 */\n tag_183:\n /* \"#utility.yul\":6349:6711 */\n pop\n /* \"#utility.yul\":6301:6711 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6717:6897 */\n tag_89:\n /* \"#utility.yul\":6765:6842 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6762:6763 */\n 0x00\n /* \"#utility.yul\":6755:6843 */\n mstore\n /* \"#utility.yul\":6862:6866 */\n 0x22\n /* \"#utility.yul\":6859:6860 */\n 0x04\n /* \"#utility.yul\":6852:6867 */\n mstore\n /* \"#utility.yul\":6886:6890 */\n 0x24\n /* \"#utility.yul\":6883:6884 */\n 0x00\n /* \"#utility.yul\":6876:6891 */\n revert\n /* \"#utility.yul\":6903:7223 */\n tag_55:\n /* \"#utility.yul\":6947:6953 */\n 0x00\n /* \"#utility.yul\":6984:6985 */\n 0x02\n /* \"#utility.yul\":6978:6982 */\n dup3\n /* \"#utility.yul\":6974:6986 */\n div\n /* \"#utility.yul\":6964:6986 */\n swap1\n pop\n /* \"#utility.yul\":7031:7032 */\n 0x01\n /* \"#utility.yul\":7025:7029 */\n dup3\n /* \"#utility.yul\":7021:7033 */\n and\n /* \"#utility.yul\":7052:7070 */\n dup1\n /* \"#utility.yul\":7042:7123 */\n tag_187\n jumpi\n /* \"#utility.yul\":7108:7112 */\n 0x7f\n /* \"#utility.yul\":7100:7106 */\n dup3\n /* \"#utility.yul\":7096:7113 */\n and\n /* \"#utility.yul\":7086:7113 */\n swap2\n pop\n /* \"#utility.yul\":7042:7123 */\n tag_187:\n /* \"#utility.yul\":7170:7172 */\n 0x20\n /* \"#utility.yul\":7162:7168 */\n dup3\n /* \"#utility.yul\":7159:7173 */\n lt\n /* \"#utility.yul\":7139:7157 */\n dup2\n /* \"#utility.yul\":7136:7174 */\n sub\n /* \"#utility.yul\":7133:7217 */\n tag_188\n jumpi\n /* \"#utility.yul\":7189:7207 */\n tag_189\n tag_89\n jump\t// in\n tag_189:\n /* \"#utility.yul\":7133:7217 */\n tag_188:\n /* \"#utility.yul\":6954:7223 */\n pop\n /* \"#utility.yul\":6903:7223 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7229:7370 */\n tag_90:\n /* \"#utility.yul\":7278:7282 */\n 0x00\n /* \"#utility.yul\":7301:7304 */\n dup2\n /* \"#utility.yul\":7293:7304 */\n swap1\n pop\n /* \"#utility.yul\":7324:7327 */\n dup2\n /* \"#utility.yul\":7321:7322 */\n 0x00\n /* \"#utility.yul\":7314:7328 */\n mstore\n /* \"#utility.yul\":7358:7362 */\n 0x20\n /* \"#utility.yul\":7355:7356 */\n 0x00\n /* \"#utility.yul\":7345:7363 */\n keccak256\n /* \"#utility.yul\":7337:7363 */\n swap1\n pop\n /* \"#utility.yul\":7229:7370 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7376:7469 */\n tag_91:\n /* \"#utility.yul\":7413:7419 */\n 0x00\n /* \"#utility.yul\":7460:7462 */\n 0x20\n /* \"#utility.yul\":7455:7457 */\n 0x1f\n /* \"#utility.yul\":7448:7453 */\n dup4\n /* \"#utility.yul\":7444:7458 */\n add\n /* \"#utility.yul\":7440:7463 */\n div\n /* \"#utility.yul\":7430:7463 */\n swap1\n pop\n /* \"#utility.yul\":7376:7469 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7475:7582 */\n tag_92:\n /* \"#utility.yul\":7519:7527 */\n 0x00\n /* \"#utility.yul\":7569:7574 */\n dup3\n /* \"#utility.yul\":7563:7567 */\n dup3\n /* \"#utility.yul\":7559:7575 */\n shl\n /* \"#utility.yul\":7538:7575 */\n swap1\n pop\n /* \"#utility.yul\":7475:7582 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7588:7981 */\n tag_93:\n /* \"#utility.yul\":7657:7663 */\n 0x00\n /* \"#utility.yul\":7707:7708 */\n 0x08\n /* \"#utility.yul\":7695:7705 */\n dup4\n /* \"#utility.yul\":7691:7709 */\n mul\n /* \"#utility.yul\":7730:7827 */\n tag_194\n /* \"#utility.yul\":7760:7826 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":7749:7758 */\n dup3\n /* \"#utility.yul\":7730:7827 */\n tag_92\n jump\t// in\n tag_194:\n /* \"#utility.yul\":7848:7887 */\n tag_195\n /* \"#utility.yul\":7878:7886 */\n dup7\n /* \"#utility.yul\":7867:7876 */\n dup4\n /* \"#utility.yul\":7848:7887 */\n tag_92\n jump\t// in\n tag_195:\n /* \"#utility.yul\":7836:7887 */\n swap6\n pop\n /* \"#utility.yul\":7920:7924 */\n dup1\n /* \"#utility.yul\":7916:7925 */\n not\n /* \"#utility.yul\":7909:7914 */\n dup5\n /* \"#utility.yul\":7905:7926 */\n and\n /* \"#utility.yul\":7896:7926 */\n swap4\n pop\n /* \"#utility.yul\":7969:7973 */\n dup1\n /* \"#utility.yul\":7959:7967 */\n dup7\n /* \"#utility.yul\":7955:7974 */\n and\n /* \"#utility.yul\":7948:7953 */\n dup5\n /* \"#utility.yul\":7945:7975 */\n or\n /* \"#utility.yul\":7935:7975 */\n swap3\n pop\n /* \"#utility.yul\":7664:7981 */\n pop\n pop\n /* \"#utility.yul\":7588:7981 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7987:8047 */\n tag_94:\n /* \"#utility.yul\":8015:8018 */\n 0x00\n /* \"#utility.yul\":8036:8041 */\n dup2\n /* \"#utility.yul\":8029:8041 */\n swap1\n pop\n /* \"#utility.yul\":7987:8047 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8053:8195 */\n tag_95:\n /* \"#utility.yul\":8103:8112 */\n 0x00\n /* \"#utility.yul\":8136:8189 */\n tag_198\n /* \"#utility.yul\":8154:8188 */\n tag_199\n /* \"#utility.yul\":8163:8187 */\n tag_200\n /* \"#utility.yul\":8181:8186 */\n dup5\n /* \"#utility.yul\":8163:8187 */\n tag_70\n jump\t// in\n tag_200:\n /* \"#utility.yul\":8154:8188 */\n tag_94\n jump\t// in\n tag_199:\n /* \"#utility.yul\":8136:8189 */\n tag_70\n jump\t// in\n tag_198:\n /* \"#utility.yul\":8123:8189 */\n swap1\n pop\n /* \"#utility.yul\":8053:8195 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8201:8276 */\n tag_96:\n /* \"#utility.yul\":8244:8247 */\n 0x00\n /* \"#utility.yul\":8265:8270 */\n dup2\n /* \"#utility.yul\":8258:8270 */\n swap1\n pop\n /* \"#utility.yul\":8201:8276 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8282:8551 */\n tag_97:\n /* \"#utility.yul\":8392:8431 */\n tag_203\n /* \"#utility.yul\":8423:8430 */\n dup4\n /* \"#utility.yul\":8392:8431 */\n tag_95\n jump\t// in\n tag_203:\n /* \"#utility.yul\":8453:8544 */\n tag_204\n /* \"#utility.yul\":8502:8543 */\n tag_205\n /* \"#utility.yul\":8526:8542 */\n dup3\n /* \"#utility.yul\":8502:8543 */\n tag_96\n jump\t// in\n tag_205:\n /* \"#utility.yul\":8494:8500 */\n dup5\n /* \"#utility.yul\":8487:8491 */\n dup5\n /* \"#utility.yul\":8481:8492 */\n sload\n /* \"#utility.yul\":8453:8544 */\n tag_93\n jump\t// in\n tag_204:\n /* \"#utility.yul\":8447:8451 */\n dup3\n /* \"#utility.yul\":8440:8545 */\n sstore\n /* \"#utility.yul\":8358:8551 */\n pop\n /* \"#utility.yul\":8282:8551 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8557:8630 */\n tag_98:\n /* \"#utility.yul\":8602:8605 */\n 0x00\n /* \"#utility.yul\":8557:8630 */\n swap1\n jump\t// out\n /* \"#utility.yul\":8636:8825 */\n tag_99:\n /* \"#utility.yul\":8713:8745 */\n tag_208\n tag_98\n jump\t// in\n tag_208:\n /* \"#utility.yul\":8754:8819 */\n tag_209\n /* \"#utility.yul\":8812:8818 */\n dup2\n /* \"#utility.yul\":8804:8810 */\n dup5\n /* \"#utility.yul\":8798:8802 */\n dup5\n /* \"#utility.yul\":8754:8819 */\n tag_97\n jump\t// in\n tag_209:\n /* \"#utility.yul\":8689:8825 */\n pop\n /* \"#utility.yul\":8636:8825 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8831:9017 */\n tag_100:\n /* \"#utility.yul\":8891:9011 */\n tag_211:\n /* \"#utility.yul\":8908:8911 */\n dup2\n /* \"#utility.yul\":8901:8906 */\n dup2\n /* \"#utility.yul\":8898:8912 */\n lt\n /* \"#utility.yul\":8891:9011 */\n iszero\n tag_213\n jumpi\n /* \"#utility.yul\":8962:9001 */\n tag_214\n /* \"#utility.yul\":8999:9000 */\n 0x00\n /* \"#utility.yul\":8992:8997 */\n dup3\n /* \"#utility.yul\":8962:9001 */\n tag_99\n jump\t// in\n tag_214:\n /* \"#utility.yul\":8935:8936 */\n 0x01\n /* \"#utility.yul\":8928:8933 */\n dup2\n /* \"#utility.yul\":8924:8937 */\n add\n /* \"#utility.yul\":8915:8937 */\n swap1\n pop\n /* \"#utility.yul\":8891:9011 */\n jump(tag_211)\n tag_213:\n /* \"#utility.yul\":8831:9017 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9023:9566 */\n tag_101:\n /* \"#utility.yul\":9124:9126 */\n 0x1f\n /* \"#utility.yul\":9119:9122 */\n dup3\n /* \"#utility.yul\":9116:9127 */\n gt\n /* \"#utility.yul\":9113:9559 */\n iszero\n tag_216\n jumpi\n /* \"#utility.yul\":9158:9196 */\n tag_217\n /* \"#utility.yul\":9190:9195 */\n dup2\n /* \"#utility.yul\":9158:9196 */\n tag_90\n jump\t// in\n tag_217:\n /* \"#utility.yul\":9242:9271 */\n tag_218\n /* \"#utility.yul\":9260:9270 */\n dup5\n /* \"#utility.yul\":9242:9271 */\n tag_91\n jump\t// in\n tag_218:\n /* \"#utility.yul\":9232:9240 */\n dup2\n /* \"#utility.yul\":9228:9272 */\n add\n /* \"#utility.yul\":9425:9427 */\n 0x20\n /* \"#utility.yul\":9413:9423 */\n dup6\n /* \"#utility.yul\":9410:9428 */\n lt\n /* \"#utility.yul\":9407:9456 */\n iszero\n tag_219\n jumpi\n /* \"#utility.yul\":9446:9454 */\n dup2\n /* \"#utility.yul\":9431:9454 */\n swap1\n pop\n /* \"#utility.yul\":9407:9456 */\n tag_219:\n /* \"#utility.yul\":9469:9549 */\n tag_220\n /* \"#utility.yul\":9525:9547 */\n tag_221\n /* \"#utility.yul\":9543:9546 */\n dup6\n /* \"#utility.yul\":9525:9547 */\n tag_91\n jump\t// in\n tag_221:\n /* \"#utility.yul\":9515:9523 */\n dup4\n /* \"#utility.yul\":9511:9548 */\n add\n /* \"#utility.yul\":9498:9509 */\n dup3\n /* \"#utility.yul\":9469:9549 */\n tag_100\n jump\t// in\n tag_220:\n /* \"#utility.yul\":9128:9559 */\n pop\n pop\n /* \"#utility.yul\":9113:9559 */\n tag_216:\n /* \"#utility.yul\":9023:9566 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9572:9689 */\n tag_102:\n /* \"#utility.yul\":9626:9634 */\n 0x00\n /* \"#utility.yul\":9676:9681 */\n dup3\n /* \"#utility.yul\":9670:9674 */\n dup3\n /* \"#utility.yul\":9666:9682 */\n shr\n /* \"#utility.yul\":9645:9682 */\n swap1\n pop\n /* \"#utility.yul\":9572:9689 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9695:9864 */\n tag_103:\n /* \"#utility.yul\":9739:9745 */\n 0x00\n /* \"#utility.yul\":9772:9823 */\n tag_224\n /* \"#utility.yul\":9820:9821 */\n 0x00\n /* \"#utility.yul\":9816:9822 */\n not\n /* \"#utility.yul\":9808:9813 */\n dup5\n /* \"#utility.yul\":9805:9806 */\n 0x08\n /* \"#utility.yul\":9801:9814 */\n mul\n /* \"#utility.yul\":9772:9823 */\n tag_102\n jump\t// in\n tag_224:\n /* \"#utility.yul\":9768:9824 */\n not\n /* \"#utility.yul\":9853:9857 */\n dup1\n /* \"#utility.yul\":9847:9851 */\n dup4\n /* \"#utility.yul\":9843:9858 */\n and\n /* \"#utility.yul\":9833:9858 */\n swap2\n pop\n /* \"#utility.yul\":9746:9864 */\n pop\n /* \"#utility.yul\":9695:9864 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9869:10164 */\n tag_104:\n /* \"#utility.yul\":9945:9949 */\n 0x00\n /* \"#utility.yul\":10091:10120 */\n tag_226\n /* \"#utility.yul\":10116:10119 */\n dup4\n /* \"#utility.yul\":10110:10114 */\n dup4\n /* \"#utility.yul\":10091:10120 */\n tag_103\n jump\t// in\n tag_226:\n /* \"#utility.yul\":10083:10120 */\n swap2\n pop\n /* \"#utility.yul\":10153:10156 */\n dup3\n /* \"#utility.yul\":10150:10151 */\n 0x02\n /* \"#utility.yul\":10146:10157 */\n mul\n /* \"#utility.yul\":10140:10144 */\n dup3\n /* \"#utility.yul\":10137:10158 */\n or\n /* \"#utility.yul\":10129:10158 */\n swap1\n pop\n /* \"#utility.yul\":9869:10164 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":10169:11564 */\n tag_51:\n /* \"#utility.yul\":10286:10323 */\n tag_228\n /* \"#utility.yul\":10319:10322 */\n dup3\n /* \"#utility.yul\":10286:10323 */\n tag_84\n jump\t// in\n tag_228:\n /* \"#utility.yul\":10388:10406 */\n 0xffffffffffffffff\n /* \"#utility.yul\":10380:10386 */\n dup2\n /* \"#utility.yul\":10377:10407 */\n gt\n /* \"#utility.yul\":10374:10430 */\n iszero\n tag_229\n jumpi\n /* \"#utility.yul\":10410:10428 */\n tag_230\n tag_77\n jump\t// in\n tag_230:\n /* \"#utility.yul\":10374:10430 */\n tag_229:\n /* \"#utility.yul\":10454:10492 */\n tag_231\n /* \"#utility.yul\":10486:10490 */\n dup3\n /* \"#utility.yul\":10480:10491 */\n sload\n /* \"#utility.yul\":10454:10492 */\n tag_55\n jump\t// in\n tag_231:\n /* \"#utility.yul\":10539:10606 */\n tag_232\n /* \"#utility.yul\":10599:10605 */\n dup3\n /* \"#utility.yul\":10591:10597 */\n dup3\n /* \"#utility.yul\":10585:10589 */\n dup6\n /* \"#utility.yul\":10539:10606 */\n tag_101\n jump\t// in\n tag_232:\n /* \"#utility.yul\":10633:10634 */\n 0x00\n /* \"#utility.yul\":10657:10661 */\n 0x20\n /* \"#utility.yul\":10644:10661 */\n swap1\n pop\n /* \"#utility.yul\":10689:10691 */\n 0x1f\n /* \"#utility.yul\":10681:10687 */\n dup4\n /* \"#utility.yul\":10678:10692 */\n gt\n /* \"#utility.yul\":10706:10707 */\n 0x01\n /* \"#utility.yul\":10701:11319 */\n dup2\n eq\n tag_234\n jumpi\n /* \"#utility.yul\":11363:11364 */\n 0x00\n /* \"#utility.yul\":11380:11386 */\n dup5\n /* \"#utility.yul\":11377:11454 */\n iszero\n tag_235\n jumpi\n /* \"#utility.yul\":11429:11438 */\n dup3\n /* \"#utility.yul\":11424:11427 */\n dup8\n /* \"#utility.yul\":11420:11439 */\n add\n /* \"#utility.yul\":11414:11440 */\n mload\n /* \"#utility.yul\":11405:11440 */\n swap1\n pop\n /* \"#utility.yul\":11377:11454 */\n tag_235:\n /* \"#utility.yul\":11480:11547 */\n tag_236\n /* \"#utility.yul\":11540:11546 */\n dup6\n /* \"#utility.yul\":11533:11538 */\n dup3\n /* \"#utility.yul\":11480:11547 */\n tag_104\n jump\t// in\n tag_236:\n /* \"#utility.yul\":11474:11478 */\n dup7\n /* \"#utility.yul\":11467:11548 */\n sstore\n /* \"#utility.yul\":11336:11558 */\n pop\n /* \"#utility.yul\":10671:11558 */\n jump(tag_233)\n /* \"#utility.yul\":10701:11319 */\n tag_234:\n /* \"#utility.yul\":10753:10757 */\n 0x1f\n /* \"#utility.yul\":10749:10758 */\n not\n /* \"#utility.yul\":10741:10747 */\n dup5\n /* \"#utility.yul\":10737:10759 */\n and\n /* \"#utility.yul\":10787:10824 */\n tag_237\n /* \"#utility.yul\":10819:10823 */\n dup7\n /* \"#utility.yul\":10787:10824 */\n tag_90\n jump\t// in\n tag_237:\n /* \"#utility.yul\":10846:10847 */\n 0x00\n /* \"#utility.yul\":10860:11068 */\n tag_238:\n /* \"#utility.yul\":10874:10881 */\n dup3\n /* \"#utility.yul\":10871:10872 */\n dup2\n /* \"#utility.yul\":10868:10882 */\n lt\n /* \"#utility.yul\":10860:11068 */\n iszero\n tag_240\n jumpi\n /* \"#utility.yul\":10953:10962 */\n dup5\n /* \"#utility.yul\":10948:10951 */\n dup10\n /* \"#utility.yul\":10944:10963 */\n add\n /* \"#utility.yul\":10938:10964 */\n mload\n /* \"#utility.yul\":10930:10936 */\n dup3\n /* \"#utility.yul\":10923:10965 */\n sstore\n /* \"#utility.yul\":11004:11005 */\n 0x01\n /* \"#utility.yul\":10996:11002 */\n dup3\n /* \"#utility.yul\":10992:11006 */\n add\n /* \"#utility.yul\":10982:11006 */\n swap2\n pop\n /* \"#utility.yul\":11051:11053 */\n 0x20\n /* \"#utility.yul\":11040:11049 */\n dup6\n /* \"#utility.yul\":11036:11054 */\n add\n /* \"#utility.yul\":11023:11054 */\n swap5\n pop\n /* \"#utility.yul\":10897:10901 */\n 0x20\n /* \"#utility.yul\":10894:10895 */\n dup2\n /* \"#utility.yul\":10890:10902 */\n add\n /* \"#utility.yul\":10885:10902 */\n swap1\n pop\n /* \"#utility.yul\":10860:11068 */\n jump(tag_238)\n tag_240:\n /* \"#utility.yul\":11096:11102 */\n dup7\n /* \"#utility.yul\":11087:11094 */\n dup4\n /* \"#utility.yul\":11084:11103 */\n lt\n /* \"#utility.yul\":11081:11260 */\n iszero\n tag_241\n jumpi\n /* \"#utility.yul\":11154:11163 */\n dup5\n /* \"#utility.yul\":11149:11152 */\n dup10\n /* \"#utility.yul\":11145:11164 */\n add\n /* \"#utility.yul\":11139:11165 */\n mload\n /* \"#utility.yul\":11197:11245 */\n tag_242\n /* \"#utility.yul\":11239:11243 */\n 0x1f\n /* \"#utility.yul\":11231:11237 */\n dup10\n /* \"#utility.yul\":11227:11244 */\n and\n /* \"#utility.yul\":11216:11225 */\n dup3\n /* \"#utility.yul\":11197:11245 */\n tag_103\n jump\t// in\n tag_242:\n /* \"#utility.yul\":11189:11195 */\n dup4\n /* \"#utility.yul\":11182:11246 */\n sstore\n /* \"#utility.yul\":11104:11260 */\n pop\n /* \"#utility.yul\":11081:11260 */\n tag_241:\n /* \"#utility.yul\":11306:11307 */\n 0x01\n /* \"#utility.yul\":11302:11303 */\n 0x02\n /* \"#utility.yul\":11294:11300 */\n dup9\n /* \"#utility.yul\":11290:11304 */\n mul\n /* \"#utility.yul\":11286:11308 */\n add\n /* \"#utility.yul\":11280:11284 */\n dup9\n /* \"#utility.yul\":11273:11309 */\n sstore\n /* \"#utility.yul\":10708:11319 */\n pop\n pop\n pop\n /* \"#utility.yul\":10671:11558 */\n tag_233:\n pop\n /* \"#utility.yul\":10261:11564 */\n pop\n pop\n pop\n /* \"#utility.yul\":10169:11564 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":11570:11718 */\n tag_105:\n /* \"#utility.yul\":11672:11683 */\n 0x00\n /* \"#utility.yul\":11709:11712 */\n dup2\n /* \"#utility.yul\":11694:11712 */\n swap1\n pop\n /* \"#utility.yul\":11570:11718 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":11724:12114 */\n tag_106:\n /* \"#utility.yul\":11830:11833 */\n 0x00\n /* \"#utility.yul\":11858:11897 */\n tag_245\n /* \"#utility.yul\":11891:11896 */\n dup3\n /* \"#utility.yul\":11858:11897 */\n tag_84\n jump\t// in\n tag_245:\n /* \"#utility.yul\":11913:12002 */\n tag_246\n /* \"#utility.yul\":11995:12001 */\n dup2\n /* \"#utility.yul\":11990:11993 */\n dup6\n /* \"#utility.yul\":11913:12002 */\n tag_105\n jump\t// in\n tag_246:\n /* \"#utility.yul\":11906:12002 */\n swap4\n pop\n /* \"#utility.yul\":12011:12076 */\n tag_247\n /* \"#utility.yul\":12069:12075 */\n dup2\n /* \"#utility.yul\":12064:12067 */\n dup6\n /* \"#utility.yul\":12057:12061 */\n 0x20\n /* \"#utility.yul\":12050:12055 */\n dup7\n /* \"#utility.yul\":12046:12062 */\n add\n /* \"#utility.yul\":12011:12076 */\n tag_86\n jump\t// in\n tag_247:\n /* \"#utility.yul\":12101:12107 */\n dup1\n /* \"#utility.yul\":12096:12099 */\n dup5\n /* \"#utility.yul\":12092:12108 */\n add\n /* \"#utility.yul\":12085:12108 */\n swap2\n pop\n /* \"#utility.yul\":11834:12114 */\n pop\n /* \"#utility.yul\":11724:12114 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12120:12395 */\n tag_53:\n /* \"#utility.yul\":12252:12255 */\n 0x00\n /* \"#utility.yul\":12274:12369 */\n tag_249\n /* \"#utility.yul\":12365:12368 */\n dup3\n /* \"#utility.yul\":12356:12362 */\n dup5\n /* \"#utility.yul\":12274:12369 */\n tag_106\n jump\t// in\n tag_249:\n /* \"#utility.yul\":12267:12369 */\n swap2\n pop\n /* \"#utility.yul\":12386:12389 */\n dup2\n /* \"#utility.yul\":12379:12389 */\n swap1\n pop\n /* \"#utility.yul\":12120:12395 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212200f03ba42004b1eefe9ea64f7afb0c253b5d9f8be439ea2c8f30e3e4aafacdc5b64736f6c63430008160033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"array_dataslot_t_string_storage": { | |
"entryPoint": 286, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 134, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clean_up_bytearray_end_slots_t_string_storage": { | |
"entryPoint": 595, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 416, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clear_storage_range_t_bytes1": { | |
"entryPoint": 557, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"convert_t_uint256_to_t_uint256": { | |
"entryPoint": 434, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
"entryPoint": 746, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"divide_by_32_ceil": { | |
"entryPoint": 304, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 234, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_used_part_and_set_length_of_short_byte_array": { | |
"entryPoint": 717, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"identity": { | |
"entryPoint": 425, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mask_bytes_dynamic": { | |
"entryPoint": 687, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 189, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 144, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"prepare_store_t_uint256": { | |
"entryPoint": 473, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"shift_left_dynamic": { | |
"entryPoint": 319, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"shift_right_unsigned_dynamic": { | |
"entryPoint": 675, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"storage_set_to_zero_t_uint256": { | |
"entryPoint": 529, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"update_byte_slice_dynamic32": { | |
"entryPoint": 331, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"update_storage_value_t_uint256_to_t_uint256": { | |
"entryPoint": 482, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"zero_value_for_split_t_uint256": { | |
"entryPoint": 525, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:5231:1", | |
"nodeType": "YulBlock", | |
"src": "0:5231: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": "140:152:1", | |
"nodeType": "YulBlock", | |
"src": "140:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "157:1:1", | |
"nodeType": "YulLiteral", | |
"src": "157:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "160:77:1", | |
"nodeType": "YulLiteral", | |
"src": "160:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "150:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "150:6:1" | |
}, | |
"nativeSrc": "150:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "150:88:1" | |
}, | |
"nativeSrc": "150:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "150:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "254:1:1", | |
"nodeType": "YulLiteral", | |
"src": "254:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "257:4:1", | |
"nodeType": "YulLiteral", | |
"src": "257:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "247:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "247:6:1" | |
}, | |
"nativeSrc": "247:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "247:15:1" | |
}, | |
"nativeSrc": "247:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "247:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "278:1:1", | |
"nodeType": "YulLiteral", | |
"src": "278:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "281:4:1", | |
"nodeType": "YulLiteral", | |
"src": "281:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "271:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "271:6:1" | |
}, | |
"nativeSrc": "271:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "271:15:1" | |
}, | |
"nativeSrc": "271:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "271:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nativeSrc": "112:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "112:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "326:152:1", | |
"nodeType": "YulBlock", | |
"src": "326:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "343:1:1", | |
"nodeType": "YulLiteral", | |
"src": "343:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "346:77:1", | |
"nodeType": "YulLiteral", | |
"src": "346:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "336:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "336:6:1" | |
}, | |
"nativeSrc": "336:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "336:88:1" | |
}, | |
"nativeSrc": "336:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "336:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "440:1:1", | |
"nodeType": "YulLiteral", | |
"src": "440:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "443:4:1", | |
"nodeType": "YulLiteral", | |
"src": "443:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "433:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "433:6:1" | |
}, | |
"nativeSrc": "433:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "433:15:1" | |
}, | |
"nativeSrc": "433:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "433:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "464:1:1", | |
"nodeType": "YulLiteral", | |
"src": "464:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "467:4:1", | |
"nodeType": "YulLiteral", | |
"src": "467:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "457:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "457:6:1" | |
}, | |
"nativeSrc": "457:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "457:15:1" | |
}, | |
"nativeSrc": "457:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "457:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nativeSrc": "298:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "298:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "535:269:1", | |
"nodeType": "YulBlock", | |
"src": "535:269:1", | |
"statements": [ | |
{ | |
"nativeSrc": "545:22:1", | |
"nodeType": "YulAssignment", | |
"src": "545:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "559:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "559:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "565:1:1", | |
"nodeType": "YulLiteral", | |
"src": "565:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "555:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "555:3:1" | |
}, | |
"nativeSrc": "555:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "555:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "545:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "545:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "576:38:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "576:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "606:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "606:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "612:1:1", | |
"nodeType": "YulLiteral", | |
"src": "612:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "602:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "602:3:1" | |
}, | |
"nativeSrc": "602:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "602:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "580:18:1", | |
"nodeType": "YulTypedName", | |
"src": "580:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "653:51:1", | |
"nodeType": "YulBlock", | |
"src": "653:51:1", | |
"statements": [ | |
{ | |
"nativeSrc": "667:27:1", | |
"nodeType": "YulAssignment", | |
"src": "667:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "681:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "681:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "689:4:1", | |
"nodeType": "YulLiteral", | |
"src": "689:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "677:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "677:3:1" | |
}, | |
"nativeSrc": "677:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "677:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "667:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "667:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "633:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "633:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "626:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "626:6:1" | |
}, | |
"nativeSrc": "626:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "626:26:1" | |
}, | |
"nativeSrc": "623:81:1", | |
"nodeType": "YulIf", | |
"src": "623:81:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "756:42:1", | |
"nodeType": "YulBlock", | |
"src": "756:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nativeSrc": "770:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "770:16:1" | |
}, | |
"nativeSrc": "770:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "770:18:1" | |
}, | |
"nativeSrc": "770:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "770:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "720:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "720:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "743:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "743:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "751:2:1", | |
"nodeType": "YulLiteral", | |
"src": "751:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "740:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "740:2:1" | |
}, | |
"nativeSrc": "740:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "740:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "717:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "717:2:1" | |
}, | |
"nativeSrc": "717:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "717:38:1" | |
}, | |
"nativeSrc": "714:84:1", | |
"nodeType": "YulIf", | |
"src": "714:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nativeSrc": "484:320:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "519:4:1", | |
"nodeType": "YulTypedName", | |
"src": "519:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "528:6:1", | |
"nodeType": "YulTypedName", | |
"src": "528:6:1", | |
"type": "" | |
} | |
], | |
"src": "484:320:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "864:87:1", | |
"nodeType": "YulBlock", | |
"src": "864:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "874:11:1", | |
"nodeType": "YulAssignment", | |
"src": "874:11:1", | |
"value": { | |
"name": "ptr", | |
"nativeSrc": "882:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "882:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "874:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "874:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "902:1:1", | |
"nodeType": "YulLiteral", | |
"src": "902:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "ptr", | |
"nativeSrc": "905:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "905:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "895:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "895:6:1" | |
}, | |
"nativeSrc": "895:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "895:14:1" | |
}, | |
"nativeSrc": "895:14:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "895:14:1" | |
}, | |
{ | |
"nativeSrc": "918:26:1", | |
"nodeType": "YulAssignment", | |
"src": "918:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "936:1:1", | |
"nodeType": "YulLiteral", | |
"src": "936:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "939:4:1", | |
"nodeType": "YulLiteral", | |
"src": "939:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "keccak256", | |
"nativeSrc": "926:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "926:9:1" | |
}, | |
"nativeSrc": "926:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "926:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "918:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "918:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "810:141:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nativeSrc": "851:3:1", | |
"nodeType": "YulTypedName", | |
"src": "851:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nativeSrc": "859:4:1", | |
"nodeType": "YulTypedName", | |
"src": "859:4:1", | |
"type": "" | |
} | |
], | |
"src": "810:141:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1001:49:1", | |
"nodeType": "YulBlock", | |
"src": "1001:49:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1011:33:1", | |
"nodeType": "YulAssignment", | |
"src": "1011:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1029:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1029:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1036:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1036:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1025:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1025:3:1" | |
}, | |
"nativeSrc": "1025:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1025:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1041:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1041:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "1021:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1021:3:1" | |
}, | |
"nativeSrc": "1021:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1021:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1011:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1011:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "957:93:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "984:5:1", | |
"nodeType": "YulTypedName", | |
"src": "984:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "994:6:1", | |
"nodeType": "YulTypedName", | |
"src": "994:6:1", | |
"type": "" | |
} | |
], | |
"src": "957:93:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1109:54:1", | |
"nodeType": "YulBlock", | |
"src": "1109:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1119:37:1", | |
"nodeType": "YulAssignment", | |
"src": "1119:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "1144:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1144:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "1150:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1150:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nativeSrc": "1140:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1140:3:1" | |
}, | |
"nativeSrc": "1140:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1140:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "1119:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1119:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_dynamic", | |
"nativeSrc": "1056:107:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "1084:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1084:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "1090:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1090:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "1100:8:1", | |
"nodeType": "YulTypedName", | |
"src": "1100:8:1", | |
"type": "" | |
} | |
], | |
"src": "1056:107:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1245:317:1", | |
"nodeType": "YulBlock", | |
"src": "1245:317:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1255:35:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "1255:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "1276:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "1276:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1288:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1288:1:1", | |
"type": "", | |
"value": "8" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "1272:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1272:3:1" | |
}, | |
"nativeSrc": "1272:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1272:18:1" | |
}, | |
"variables": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "1259:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1259:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1299:109:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "1299:109:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "1330:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1330:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1341:66:1", | |
"nodeType": "YulLiteral", | |
"src": "1341:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "1311:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "1311:18:1" | |
}, | |
"nativeSrc": "1311:97:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1311:97:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "1303:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1303:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1417:51:1", | |
"nodeType": "YulAssignment", | |
"src": "1417:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "1448:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1448:9:1" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1459:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1459:8:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "1429:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "1429:18:1" | |
}, | |
"nativeSrc": "1429:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1429:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1417:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1417:8:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1477:30:1", | |
"nodeType": "YulAssignment", | |
"src": "1477:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1490:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1490:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "1501:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1501:4:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "1497:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1497:3:1" | |
}, | |
"nativeSrc": "1497:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1497:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "1486:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1486:3:1" | |
}, | |
"nativeSrc": "1486:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1486:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1477:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1477:5:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "1516:40:1", | |
"nodeType": "YulAssignment", | |
"src": "1516:40:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1529:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1529:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1540:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1540:8:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "1550:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1550:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "1536:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1536:3:1" | |
}, | |
"nativeSrc": "1536:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1536:19:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "1526:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "1526:2:1" | |
}, | |
"nativeSrc": "1526:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1526:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1516:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "1169:393:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1206:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1206:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "1213:10:1", | |
"nodeType": "YulTypedName", | |
"src": "1213:10:1", | |
"type": "" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "1225:8:1", | |
"nodeType": "YulTypedName", | |
"src": "1225:8:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1238:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1238:6:1", | |
"type": "" | |
} | |
], | |
"src": "1169:393:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1613:32:1", | |
"nodeType": "YulBlock", | |
"src": "1613:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1623:16:1", | |
"nodeType": "YulAssignment", | |
"src": "1623:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1634:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1634:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1623:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "1623:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1568:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1595:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1595:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1605:7:1", | |
"nodeType": "YulTypedName", | |
"src": "1605:7:1", | |
"type": "" | |
} | |
], | |
"src": "1568:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1683:28:1", | |
"nodeType": "YulBlock", | |
"src": "1683:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1693:12:1", | |
"nodeType": "YulAssignment", | |
"src": "1693:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1700:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1700:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1693:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1693:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "identity", | |
"nativeSrc": "1651:60:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1669:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1669:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1679:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1679:3:1", | |
"type": "" | |
} | |
], | |
"src": "1651:60:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1777:82:1", | |
"nodeType": "YulBlock", | |
"src": "1777:82:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1787:66:1", | |
"nodeType": "YulAssignment", | |
"src": "1787:66:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1845:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1845:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1827:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1827:17:1" | |
}, | |
"nativeSrc": "1827:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1827:24:1" | |
} | |
], | |
"functionName": { | |
"name": "identity", | |
"nativeSrc": "1818:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "1818:8:1" | |
}, | |
"nativeSrc": "1818:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1818:34:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1800:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1800:17:1" | |
}, | |
"nativeSrc": "1800:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1800:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "1787:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1787:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "1717:142:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1757:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1757:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "1767:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1767:9:1", | |
"type": "" | |
} | |
], | |
"src": "1717:142:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1912:28:1", | |
"nodeType": "YulBlock", | |
"src": "1912:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1922:12:1", | |
"nodeType": "YulAssignment", | |
"src": "1922:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1929:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1929:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1922:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1922:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "1865:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1898:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1898:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "1908:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1908:3:1", | |
"type": "" | |
} | |
], | |
"src": "1865:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2022:193:1", | |
"nodeType": "YulBlock", | |
"src": "2022:193:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2032:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2032:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value_0", | |
"nativeSrc": "2087:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2087:7:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "2056:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "2056:30:1" | |
}, | |
"nativeSrc": "2056:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2056:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "2036:16:1", | |
"nodeType": "YulTypedName", | |
"src": "2036:16:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2111:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2111:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2151:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2151:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "2145:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2145:5:1" | |
}, | |
"nativeSrc": "2145:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2145:11:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2158:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2158:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "2190:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2190:16:1" | |
} | |
], | |
"functionName": { | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "2166:23:1", | |
"nodeType": "YulIdentifier", | |
"src": "2166:23:1" | |
}, | |
"nativeSrc": "2166:41:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2166:41:1" | |
} | |
], | |
"functionName": { | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "2117:27:1", | |
"nodeType": "YulIdentifier", | |
"src": "2117:27:1" | |
}, | |
"nativeSrc": "2117:91:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2117:91:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "2104:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2104:6:1" | |
}, | |
"nativeSrc": "2104:105:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2104:105:1" | |
}, | |
"nativeSrc": "2104:105:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2104:105:1" | |
} | |
] | |
}, | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "1946:269:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "1999:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1999:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2005:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2005:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value_0", | |
"nativeSrc": "2013:7:1", | |
"nodeType": "YulTypedName", | |
"src": "2013:7:1", | |
"type": "" | |
} | |
], | |
"src": "1946:269:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2270:24:1", | |
"nodeType": "YulBlock", | |
"src": "2270:24:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2280:8:1", | |
"nodeType": "YulAssignment", | |
"src": "2280:8:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "2287:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2287:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "2280:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2280:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "2221:73:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "2266:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2266:3:1", | |
"type": "" | |
} | |
], | |
"src": "2221:73:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2353:136:1", | |
"nodeType": "YulBlock", | |
"src": "2353:136:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2363:46:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2363:46:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "2377:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "2377:30:1" | |
}, | |
"nativeSrc": "2377:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2377:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "zero_0", | |
"nativeSrc": "2367:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2367:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2462:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2462:4:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2468:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2468:6:1" | |
}, | |
{ | |
"name": "zero_0", | |
"nativeSrc": "2476:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2476:6:1" | |
} | |
], | |
"functionName": { | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "2418:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "2418:43:1" | |
}, | |
"nativeSrc": "2418:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2418:65:1" | |
}, | |
"nativeSrc": "2418:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2418:65:1" | |
} | |
] | |
}, | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "2300:189:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "2339:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2339:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2345:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2345:6:1", | |
"type": "" | |
} | |
], | |
"src": "2300:189:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2545:136:1", | |
"nodeType": "YulBlock", | |
"src": "2545:136:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2612:63:1", | |
"nodeType": "YulBlock", | |
"src": "2612:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2656:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2656:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2663:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2663:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "2626:29:1", | |
"nodeType": "YulIdentifier", | |
"src": "2626:29:1" | |
}, | |
"nativeSrc": "2626:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2626:39:1" | |
}, | |
"nativeSrc": "2626:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2626:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2565:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2565:5:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "2572:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2572:3:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "2562:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2562:2:1" | |
}, | |
"nativeSrc": "2562:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2562:14:1" | |
}, | |
"nativeSrc": "2555:120:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "2577:26:1", | |
"nodeType": "YulBlock", | |
"src": "2577:26:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2579:22:1", | |
"nodeType": "YulAssignment", | |
"src": "2579:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2592:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2592:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2599:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2599:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2588:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2588:3:1" | |
}, | |
"nativeSrc": "2588:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2588:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2579:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2579:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "2559:2:1", | |
"nodeType": "YulBlock", | |
"src": "2559:2:1", | |
"statements": [] | |
}, | |
"src": "2555:120:1" | |
} | |
] | |
}, | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "2495:186:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nativeSrc": "2533:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2533:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "2540:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2540:3:1", | |
"type": "" | |
} | |
], | |
"src": "2495:186:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2766:464:1", | |
"nodeType": "YulBlock", | |
"src": "2766:464:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2792:431:1", | |
"nodeType": "YulBlock", | |
"src": "2792:431:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2806:54:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2806:54:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2854:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2854:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "2822:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "2822:31:1" | |
}, | |
"nativeSrc": "2822:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2822:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "2810:8:1", | |
"nodeType": "YulTypedName", | |
"src": "2810:8:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2873:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2873:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "2896:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "2896:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "2924:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2924:10:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "2906:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "2906:17:1" | |
}, | |
"nativeSrc": "2906:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2906:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2892:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2892:3:1" | |
}, | |
"nativeSrc": "2892:44:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2892:44:1" | |
}, | |
"variables": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "2877:11:1", | |
"nodeType": "YulTypedName", | |
"src": "2877:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3093:27:1", | |
"nodeType": "YulBlock", | |
"src": "3093:27:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3095:23:1", | |
"nodeType": "YulAssignment", | |
"src": "3095:23:1", | |
"value": { | |
"name": "dataArea", | |
"nativeSrc": "3110:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "3110:8:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "3095:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "3095:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "3077:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "3077:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3089:2:1", | |
"nodeType": "YulLiteral", | |
"src": "3089:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "3074:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3074:2:1" | |
}, | |
"nativeSrc": "3074:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3074:18:1" | |
}, | |
"nativeSrc": "3071:49:1", | |
"nodeType": "YulIf", | |
"src": "3071:49:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "3162:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "3162:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "3179:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "3179:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "3207:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3207:3:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "3189:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "3189:17:1" | |
}, | |
"nativeSrc": "3189:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3189:22:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3175:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3175:3:1" | |
}, | |
"nativeSrc": "3175:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3175:37:1" | |
} | |
], | |
"functionName": { | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "3133:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "3133:28:1" | |
}, | |
"nativeSrc": "3133:80:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3133:80:1" | |
}, | |
"nativeSrc": "3133:80:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3133:80:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "2783:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2783:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2788:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2788:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2780:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2780:2:1" | |
}, | |
"nativeSrc": "2780:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2780:11:1" | |
}, | |
"nativeSrc": "2777:446:1", | |
"nodeType": "YulIf", | |
"src": "2777:446:1" | |
} | |
] | |
}, | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "2687:543:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2742:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2742:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "2749:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2749:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "startIndex", | |
"nativeSrc": "2754:10:1", | |
"nodeType": "YulTypedName", | |
"src": "2754:10:1", | |
"type": "" | |
} | |
], | |
"src": "2687:543:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3299:54:1", | |
"nodeType": "YulBlock", | |
"src": "3299:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3309:37:1", | |
"nodeType": "YulAssignment", | |
"src": "3309:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "3334:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3334:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "3340:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3340:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shr", | |
"nativeSrc": "3330:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3330:3:1" | |
}, | |
"nativeSrc": "3330:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3330:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "3309:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "3309:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "3236:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "3274:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3274:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "3280:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3280:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "3290:8:1", | |
"nodeType": "YulTypedName", | |
"src": "3290:8:1", | |
"type": "" | |
} | |
], | |
"src": "3236:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3410:118:1", | |
"nodeType": "YulBlock", | |
"src": "3410:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3420:68:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3420:68:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "3469:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3469:1:1", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "3472:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3472:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "3465:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3465:3:1" | |
}, | |
"nativeSrc": "3465:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3465:13:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "3484:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3484:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "3480:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3480:3:1" | |
}, | |
"nativeSrc": "3480:6:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3480:6:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "3436:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "3436:28:1" | |
}, | |
"nativeSrc": "3436:51:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3436:51:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "3432:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3432:3:1" | |
}, | |
"nativeSrc": "3432:56:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3432:56:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "3424:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3424:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3497:25:1", | |
"nodeType": "YulAssignment", | |
"src": "3497:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3511:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3511:4:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "3517:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3517:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "3507:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3507:3:1" | |
}, | |
"nativeSrc": "3507:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3507:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "3497:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3497:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "3359:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3387:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3387:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "3393:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3393:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "3403:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3403:6:1", | |
"type": "" | |
} | |
], | |
"src": "3359:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3614:214:1", | |
"nodeType": "YulBlock", | |
"src": "3614:214:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3747:37:1", | |
"nodeType": "YulAssignment", | |
"src": "3747:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3774:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3774:4:1" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "3780:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3780:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "3755:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "3755:18:1" | |
}, | |
"nativeSrc": "3755:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3755:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3747:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3747:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3793:29:1", | |
"nodeType": "YulAssignment", | |
"src": "3793:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3804:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3804:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "3814:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3814:1:1", | |
"type": "", | |
"value": "2" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "3817:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3817:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "3810:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3810:3:1" | |
}, | |
"nativeSrc": "3810:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3810:11:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "3801:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3801:2:1" | |
}, | |
"nativeSrc": "3801:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3801:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "used", | |
"nativeSrc": "3793:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "3793:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "3533:295:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "3595:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3595:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "3601:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3601:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "used", | |
"nativeSrc": "3609:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3609:4:1", | |
"type": "" | |
} | |
], | |
"src": "3533:295:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3925:1303:1", | |
"nodeType": "YulBlock", | |
"src": "3925:1303:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3936:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3936:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3983:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3983:3:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "3950:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "3950:32:1" | |
}, | |
"nativeSrc": "3950:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3950:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "3940:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3940:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4072:22:1", | |
"nodeType": "YulBlock", | |
"src": "4072:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "4074:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "4074:16:1" | |
}, | |
"nativeSrc": "4074:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4074:18:1" | |
}, | |
"nativeSrc": "4074:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4074:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4044:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4044:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4052:18:1", | |
"nodeType": "YulLiteral", | |
"src": "4052:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "4041:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4041:2:1" | |
}, | |
"nativeSrc": "4041:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4041:30:1" | |
}, | |
"nativeSrc": "4038:56:1", | |
"nodeType": "YulIf", | |
"src": "4038:56:1" | |
}, | |
{ | |
"nativeSrc": "4104:52:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4104:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4150:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4150:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "4144:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4144:5:1" | |
}, | |
"nativeSrc": "4144:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4144:11:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_byte_array_length", | |
"nativeSrc": "4118:25:1", | |
"nodeType": "YulIdentifier", | |
"src": "4118:25:1" | |
}, | |
"nativeSrc": "4118:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4118:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "oldLen", | |
"nativeSrc": "4108:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4108:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4249:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4249:4:1" | |
}, | |
{ | |
"name": "oldLen", | |
"nativeSrc": "4255:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4255:6:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "4263:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4263:6:1" | |
} | |
], | |
"functionName": { | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "4203:45:1", | |
"nodeType": "YulIdentifier", | |
"src": "4203:45:1" | |
}, | |
"nativeSrc": "4203:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4203:67:1" | |
}, | |
"nativeSrc": "4203:67:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4203:67:1" | |
}, | |
{ | |
"nativeSrc": "4280:18:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4280:18:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4297:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4297:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4284:9:1", | |
"nodeType": "YulTypedName", | |
"src": "4284:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4308:17:1", | |
"nodeType": "YulAssignment", | |
"src": "4308:17:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4321:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4321:4:1", | |
"type": "", | |
"value": "0x20" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4308:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4308:9:1" | |
} | |
] | |
}, | |
{ | |
"cases": [ | |
{ | |
"body": { | |
"nativeSrc": "4372:611:1", | |
"nodeType": "YulBlock", | |
"src": "4372:611:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4386:37:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4386:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4405:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4405:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "4417:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4417:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "4413:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4413:3:1" | |
}, | |
"nativeSrc": "4413:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4413:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4401:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4401:3:1" | |
}, | |
"nativeSrc": "4401:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4401:22:1" | |
}, | |
"variables": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "4390:7:1", | |
"nodeType": "YulTypedName", | |
"src": "4390:7:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4437:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4437:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4483:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4483:4:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "4451:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "4451:31:1" | |
}, | |
"nativeSrc": "4451:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4451:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4441:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4441:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4501:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4501:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4510:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4510:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4505:1:1", | |
"nodeType": "YulTypedName", | |
"src": "4505:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4569:163:1", | |
"nodeType": "YulBlock", | |
"src": "4569:163:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4594:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4594:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4612:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4612:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4617:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4617:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4608:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4608:3:1" | |
}, | |
"nativeSrc": "4608:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4608:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4602:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4602:5:1" | |
}, | |
"nativeSrc": "4602:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4602:26:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "4587:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4587:6:1" | |
}, | |
"nativeSrc": "4587:42:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4587:42:1" | |
}, | |
"nativeSrc": "4587:42:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4587:42:1" | |
}, | |
{ | |
"nativeSrc": "4646:24:1", | |
"nodeType": "YulAssignment", | |
"src": "4646:24:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4660:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4660:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4668:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4668:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4656:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4656:3:1" | |
}, | |
"nativeSrc": "4656:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4656:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4646:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4646:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4687:31:1", | |
"nodeType": "YulAssignment", | |
"src": "4687:31:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4704:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4704:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4715:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4715:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4700:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4700:3:1" | |
}, | |
"nativeSrc": "4700:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4700:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4687:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4687:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4535:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4535:1:1" | |
}, | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "4538:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4538:7:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4532:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4532:2:1" | |
}, | |
"nativeSrc": "4532:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4532:14:1" | |
}, | |
"nativeSrc": "4524:208:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "4547:21:1", | |
"nodeType": "YulBlock", | |
"src": "4547:21:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4549:17:1", | |
"nodeType": "YulAssignment", | |
"src": "4549:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4558:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4558:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4561:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4561:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4554:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4554:3:1" | |
}, | |
"nativeSrc": "4554:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4554:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4549:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4549:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "4528:3:1", | |
"nodeType": "YulBlock", | |
"src": "4528:3:1", | |
"statements": [] | |
}, | |
"src": "4524:208:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4768:156:1", | |
"nodeType": "YulBlock", | |
"src": "4768:156:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4786:43:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4786:43:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4813:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4813:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "4818:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4818:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4809:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4809:3:1" | |
}, | |
"nativeSrc": "4809:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4809:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4803:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4803:5:1" | |
}, | |
"nativeSrc": "4803:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4803:26:1" | |
}, | |
"variables": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "4790:9:1", | |
"nodeType": "YulTypedName", | |
"src": "4790:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "4853:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4853:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "lastValue", | |
"nativeSrc": "4880:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4880:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4895:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4895:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4903:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4903:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "4891:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4891:3:1" | |
}, | |
"nativeSrc": "4891:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4891:17:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "4861:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "4861:18:1" | |
}, | |
"nativeSrc": "4861:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4861:48:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "4846:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4846:6:1" | |
}, | |
"nativeSrc": "4846:64:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4846:64:1" | |
}, | |
"nativeSrc": "4846:64:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4846:64:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "4751:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4751:7:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "4760:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4760:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4748:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4748:2:1" | |
}, | |
"nativeSrc": "4748:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4748:19:1" | |
}, | |
"nativeSrc": "4745:179:1", | |
"nodeType": "YulIf", | |
"src": "4745:179:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "4944:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "4944:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4958:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4958:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4966:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4966:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "4954:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4954:3:1" | |
}, | |
"nativeSrc": "4954:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4954:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4970:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4970:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4950:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4950:3:1" | |
}, | |
"nativeSrc": "4950:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4950:22:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "4937:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4937:6:1" | |
}, | |
"nativeSrc": "4937:36:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4937:36:1" | |
}, | |
"nativeSrc": "4937:36:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4937:36:1" | |
} | |
] | |
}, | |
"nativeSrc": "4365:618:1", | |
"nodeType": "YulCase", | |
"src": "4365:618:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4370:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4370:1:1", | |
"type": "", | |
"value": "1" | |
} | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5000:222:1", | |
"nodeType": "YulBlock", | |
"src": "5000:222:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5014:14:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5014:14:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "5027:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5027:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5018:5:1", | |
"nodeType": "YulTypedName", | |
"src": "5018:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5051:67:1", | |
"nodeType": "YulBlock", | |
"src": "5051:67:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5069:35:1", | |
"nodeType": "YulAssignment", | |
"src": "5069:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "5088:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5088:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "5093:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5093:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5084:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5084:3:1" | |
}, | |
"nativeSrc": "5084:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5084:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "5078:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5078:5:1" | |
}, | |
"nativeSrc": "5078:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5078:26:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5069:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5069:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"name": "newLen", | |
"nativeSrc": "5044:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5044:6:1" | |
}, | |
"nativeSrc": "5041:77:1", | |
"nodeType": "YulIf", | |
"src": "5041:77:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "5138:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5138:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5197:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5197:5:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "5204:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5204:6:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "5144:52:1", | |
"nodeType": "YulIdentifier", | |
"src": "5144:52:1" | |
}, | |
"nativeSrc": "5144:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5144:67:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "5131:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5131:6:1" | |
}, | |
"nativeSrc": "5131:81:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5131:81:1" | |
}, | |
"nativeSrc": "5131:81:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5131:81:1" | |
} | |
] | |
}, | |
"nativeSrc": "4992:230:1", | |
"nodeType": "YulCase", | |
"src": "4992:230:1", | |
"value": "default" | |
} | |
], | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "4345:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4345:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4353:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4353:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "4342:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4342:2:1" | |
}, | |
"nativeSrc": "4342:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4342:14:1" | |
}, | |
"nativeSrc": "4335:887:1", | |
"nodeType": "YulSwitch", | |
"src": "4335:887:1" | |
} | |
] | |
}, | |
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
"nativeSrc": "3833:1395:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "3914:4:1", | |
"nodeType": "YulTypedName", | |
"src": "3914:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "3920:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3920:3:1", | |
"type": "" | |
} | |
], | |
"src": "3833:1395:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60806040526040518060400160405280600281526020016040518060400160405280600781526020017f6a757374616c6b0000000000000000000000000000000000000000000000000081525081525060035f820151815f01556020820151816001019081620000709190620002ea565b5050503480156200007f575f80fd5b50620003ce565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200010257607f821691505b602082108103620001185762000117620000bd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200017c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200013f565b6200018886836200013f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001d2620001cc620001c684620001a0565b620001a9565b620001a0565b9050919050565b5f819050919050565b620001ed83620001b2565b62000205620001fc82620001d9565b8484546200014b565b825550505050565b5f90565b6200021b6200020d565b62000228818484620001e2565b505050565b5b818110156200024f57620002435f8262000211565b6001810190506200022e565b5050565b601f8211156200029e5762000268816200011e565b620002738462000130565b8101602085101562000283578190505b6200029b620002928562000130565b8301826200022d565b50505b505050565b5f82821c905092915050565b5f620002c05f1984600802620002a3565b1980831691505092915050565b5f620002da8383620002af565b9150826002028217905092915050565b620002f58262000086565b67ffffffffffffffff81111562000311576200031062000090565b5b6200031d8254620000ea565b6200032a82828562000253565b5f60209050601f83116001811462000360575f84156200034b578287015190505b620003578582620002cd565b865550620003c6565b601f19841662000370866200011e565b5f5b82811015620003995784890151825560018201915060208501945060208101905062000372565b86831015620003b95784890151620003b5601f891682620002af565b8355505b6001600288020188555050505b505050505050565b610a9780620003dc5f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c80636f760f41116100595780636f760f41146100fe57806377ec2b551461011a5780638bab8dd5146101395780639e7a13ad1461016957610086565b8063076ce4c61461008a5780632e64cec1146100a6578063471f7cdf146100c45780636057361d146100e2575b5f80fd5b6100a4600480360381019061009f9190610402565b61019a565b005b6100ae6101ab565b6040516100bb919061043c565b60405180910390f35b6100cc6101b3565b6040516100d9919061043c565b60405180910390f35b6100fc60048036038101906100f79190610402565b6101b8565b005b61011860048036038101906101139190610591565b6101c1565b005b610122610245565b604051610130929190610665565b60405180910390f35b610153600480360381019061014e9190610693565b6102dc565b604051610160919061043c565b60405180910390f35b610183600480360381019061017e9190610402565b610309565b604051610191929190610665565b60405180910390f35b6002816101a79190610707565b5050565b5f8054905090565b5f5481565b805f8190555050565b6001604051806040016040528083815260200184815250908060018154018082558091505060019003905f5260205f2090600202015f909190919091505f820151815f0155602082015181600101908161021b9190610942565b5050508060028360405161022f9190610a4b565b9081526020016040518091039020819055505050565b6003805f01549080600101805461025b90610775565b80601f016020809104026020016040519081016040528092919081815260200182805461028790610775565b80156102d25780601f106102a9576101008083540402835291602001916102d2565b820191905f5260205f20905b8154815290600101906020018083116102b557829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050505f915090505481565b60018181548110610318575f80fd5b905f5260205f2090600202015f91509050805f01549080600101805461033d90610775565b80601f016020809104026020016040519081016040528092919081815260200182805461036990610775565b80156103b45780601f1061038b576101008083540402835291602001916103b4565b820191905f5260205f20905b81548152906001019060200180831161039757829003601f168201915b5050505050905082565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6103e1816103cf565b81146103eb575f80fd5b50565b5f813590506103fc816103d8565b92915050565b5f60208284031215610417576104166103c7565b5b5f610424848285016103ee565b91505092915050565b610436816103cf565b82525050565b5f60208201905061044f5f83018461042d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6104a38261045d565b810181811067ffffffffffffffff821117156104c2576104c161046d565b5b80604052505050565b5f6104d46103be565b90506104e0828261049a565b919050565b5f67ffffffffffffffff8211156104ff576104fe61046d565b5b6105088261045d565b9050602081019050919050565b828183375f83830152505050565b5f610535610530846104e5565b6104cb565b90508281526020810184848401111561055157610550610459565b5b61055c848285610515565b509392505050565b5f82601f83011261057857610577610455565b5b8135610588848260208601610523565b91505092915050565b5f80604083850312156105a7576105a66103c7565b5b5f83013567ffffffffffffffff8111156105c4576105c36103cb565b5b6105d085828601610564565b92505060206105e1858286016103ee565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610622578082015181840152602081019050610607565b5f8484015250505050565b5f610637826105eb565b61064181856105f5565b9350610651818560208601610605565b61065a8161045d565b840191505092915050565b5f6040820190506106785f83018561042d565b818103602083015261068a818461062d565b90509392505050565b5f602082840312156106a8576106a76103c7565b5b5f82013567ffffffffffffffff8111156106c5576106c46103cb565b5b6106d184828501610564565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610711826103cf565b915061071c836103cf565b925082820261072a816103cf565b91508282048414831517610741576107406106da565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078c57607f821691505b60208210810361079f5761079e610748565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026108017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107c6565b61080b86836107c6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61084661084161083c846103cf565b610823565b6103cf565b9050919050565b5f819050919050565b61085f8361082c565b61087361086b8261084d565b8484546107d2565b825550505050565b5f90565b61088761087b565b610892818484610856565b505050565b5b818110156108b5576108aa5f8261087f565b600181019050610898565b5050565b601f8211156108fa576108cb816107a5565b6108d4846107b7565b810160208510156108e3578190505b6108f76108ef856107b7565b830182610897565b50505b505050565b5f82821c905092915050565b5f61091a5f19846008026108ff565b1980831691505092915050565b5f610932838361090b565b9150826002028217905092915050565b61094b826105eb565b67ffffffffffffffff8111156109645761096361046d565b5b61096e8254610775565b6109798282856108b9565b5f60209050601f8311600181146109aa575f8415610998578287015190505b6109a28582610927565b865550610a09565b601f1984166109b8866107a5565b5f5b828110156109df578489015182556001820191506020850194506020810190506109ba565b868310156109fc57848901516109f8601f89168261090b565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f610a25826105eb565b610a2f8185610a11565b9350610a3f818560208601610605565b80840191505092915050565b5f610a568284610a1b565b91508190509291505056fea26469706673582212200f03ba42004b1eefe9ea64f7afb0c253b5d9f8be439ea2c8f30e3e4aafacdc5b64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6A757374616C6B00000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x70 SWAP2 SWAP1 PUSH3 0x2EA JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH3 0x7F JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH3 0x3CE JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT 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 PUSH3 0x102 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x118 JUMPI PUSH3 0x117 PUSH3 0xBD 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 PUSH3 0x17C PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x13F JUMP JUMPDEST PUSH3 0x188 DUP7 DUP4 PUSH3 0x13F 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 PUSH3 0x1D2 PUSH3 0x1CC PUSH3 0x1C6 DUP5 PUSH3 0x1A0 JUMP JUMPDEST PUSH3 0x1A9 JUMP JUMPDEST PUSH3 0x1A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x1ED DUP4 PUSH3 0x1B2 JUMP JUMPDEST PUSH3 0x205 PUSH3 0x1FC DUP3 PUSH3 0x1D9 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x14B JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x21B PUSH3 0x20D JUMP JUMPDEST PUSH3 0x228 DUP2 DUP5 DUP5 PUSH3 0x1E2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x24F JUMPI PUSH3 0x243 PUSH0 DUP3 PUSH3 0x211 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x22E JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x29E JUMPI PUSH3 0x268 DUP2 PUSH3 0x11E JUMP JUMPDEST PUSH3 0x273 DUP5 PUSH3 0x130 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x283 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x29B PUSH3 0x292 DUP6 PUSH3 0x130 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x22D JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x2C0 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2A3 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x2DA DUP4 DUP4 PUSH3 0x2AF JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x2F5 DUP3 PUSH3 0x86 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x311 JUMPI PUSH3 0x310 PUSH3 0x90 JUMP JUMPDEST JUMPDEST PUSH3 0x31D DUP3 SLOAD PUSH3 0xEA JUMP JUMPDEST PUSH3 0x32A DUP3 DUP3 DUP6 PUSH3 0x253 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x360 JUMPI PUSH0 DUP5 ISZERO PUSH3 0x34B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x357 DUP6 DUP3 PUSH3 0x2CD JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x3C6 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x370 DUP7 PUSH3 0x11E JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x399 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x372 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x3B9 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x3B5 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x2AF JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xA97 DUP1 PUSH3 0x3DC 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 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6F760F41 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x169 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x76CE4C6 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0x471F7CDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x19A JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAE PUSH2 0x1AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBB SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x1B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x1B8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x118 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x113 SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x122 PUSH2 0x245 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP3 SWAP2 SWAP1 PUSH2 0x665 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x2DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x402 JUMP JUMPDEST PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP3 SWAP2 SWAP1 PUSH2 0x665 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 DUP2 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x707 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0x21B SWAP2 SWAP1 PUSH2 0x942 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP2 SWAP1 PUSH2 0xA4B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x25B SWAP1 PUSH2 0x775 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 0x287 SWAP1 PUSH2 0x775 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D2 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 0x2B5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x318 JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x33D SWAP1 PUSH2 0x775 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 0x369 SWAP1 PUSH2 0x775 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B4 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 0x397 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3E1 DUP2 PUSH2 0x3CF JUMP JUMPDEST DUP2 EQ PUSH2 0x3EB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3FC DUP2 PUSH2 0x3D8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x417 JUMPI PUSH2 0x416 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x424 DUP5 DUP3 DUP6 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x436 DUP2 PUSH2 0x3CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x44F PUSH0 DUP4 ADD DUP5 PUSH2 0x42D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x4A3 DUP3 PUSH2 0x45D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C2 JUMPI PUSH2 0x4C1 PUSH2 0x46D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x4D4 PUSH2 0x3BE JUMP JUMPDEST SWAP1 POP PUSH2 0x4E0 DUP3 DUP3 PUSH2 0x49A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4FF JUMPI PUSH2 0x4FE PUSH2 0x46D JUMP JUMPDEST JUMPDEST PUSH2 0x508 DUP3 PUSH2 0x45D 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 0x535 PUSH2 0x530 DUP5 PUSH2 0x4E5 JUMP JUMPDEST PUSH2 0x4CB JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x551 JUMPI PUSH2 0x550 PUSH2 0x459 JUMP JUMPDEST JUMPDEST PUSH2 0x55C DUP5 DUP3 DUP6 PUSH2 0x515 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x578 JUMPI PUSH2 0x577 PUSH2 0x455 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x588 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5A7 JUMPI PUSH2 0x5A6 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x5C3 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x5D0 DUP6 DUP3 DUP7 ADD PUSH2 0x564 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5E1 DUP6 DUP3 DUP7 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 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 0x622 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x607 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x637 DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0x641 DUP2 DUP6 PUSH2 0x5F5 JUMP JUMPDEST SWAP4 POP PUSH2 0x651 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x605 JUMP JUMPDEST PUSH2 0x65A DUP2 PUSH2 0x45D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x678 PUSH0 DUP4 ADD DUP6 PUSH2 0x42D JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x68A DUP2 DUP5 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A8 JUMPI PUSH2 0x6A7 PUSH2 0x3C7 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x6C5 JUMPI PUSH2 0x6C4 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x6D1 DUP5 DUP3 DUP6 ADD PUSH2 0x564 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x711 DUP3 PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP PUSH2 0x71C DUP4 PUSH2 0x3CF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x72A DUP2 PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x741 JUMPI PUSH2 0x740 PUSH2 0x6DA JUMP JUMPDEST JUMPDEST 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 0x78C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x79F JUMPI PUSH2 0x79E PUSH2 0x748 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 0x801 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x7C6 JUMP JUMPDEST PUSH2 0x80B DUP7 DUP4 PUSH2 0x7C6 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 PUSH2 0x846 PUSH2 0x841 PUSH2 0x83C DUP5 PUSH2 0x3CF JUMP JUMPDEST PUSH2 0x823 JUMP JUMPDEST PUSH2 0x3CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP4 PUSH2 0x82C JUMP JUMPDEST PUSH2 0x873 PUSH2 0x86B DUP3 PUSH2 0x84D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x7D2 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x87B JUMP JUMPDEST PUSH2 0x892 DUP2 DUP5 DUP5 PUSH2 0x856 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x8B5 JUMPI PUSH2 0x8AA PUSH0 DUP3 PUSH2 0x87F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x898 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x8FA JUMPI PUSH2 0x8CB DUP2 PUSH2 0x7A5 JUMP JUMPDEST PUSH2 0x8D4 DUP5 PUSH2 0x7B7 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x8E3 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x8F7 PUSH2 0x8EF DUP6 PUSH2 0x7B7 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x897 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x91A PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x8FF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x932 DUP4 DUP4 PUSH2 0x90B JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x94B DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x964 JUMPI PUSH2 0x963 PUSH2 0x46D JUMP JUMPDEST JUMPDEST PUSH2 0x96E DUP3 SLOAD PUSH2 0x775 JUMP JUMPDEST PUSH2 0x979 DUP3 DUP3 DUP6 PUSH2 0x8B9 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x9AA JUMPI PUSH0 DUP5 ISZERO PUSH2 0x998 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x9A2 DUP6 DUP3 PUSH2 0x927 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0xA09 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x9B8 DUP7 PUSH2 0x7A5 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x9DF 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 0x9BA JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x9FC JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x9F8 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x90B JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xA25 DUP3 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0xA2F DUP2 DUP6 PUSH2 0xA11 JUMP JUMPDEST SWAP4 POP PUSH2 0xA3F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x605 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xA56 DUP3 DUP5 PUSH2 0xA1B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF SUB 0xBA TIMESTAMP STOP 0x4B 0x1E 0xEF 0xE9 0xEA PUSH5 0xF7AFB0C253 0xB5 0xD9 0xF8 0xBE NUMBER SWAP15 LOG2 0xC8 RETURN 0xE RETURNDATACOPY 0x4A 0xAF 0xAC 0xDC JUMPDEST PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "68:960:0:-:0;;;336:69;;;;;;;;370:1;336:69;;;;;;;;;;;;;;;;;;;;;;;;313:92;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;68:960;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;68:960:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@addPerson_74": { | |
"entryPoint": 449, | |
"id": 74, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@calculAddition_51": { | |
"entryPoint": 410, | |
"id": 51, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@favoriteNumber_3": { | |
"entryPoint": 435, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@nameToFavoriteNumber_16": { | |
"entryPoint": 732, | |
"id": 16, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@people_12": { | |
"entryPoint": 777, | |
"id": 12, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@person_23": { | |
"entryPoint": 581, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@retrieve_41": { | |
"entryPoint": 427, | |
"id": 41, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@store_33": { | |
"entryPoint": 440, | |
"id": 33, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_string_memory_ptr": { | |
"entryPoint": 1315, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_string_memory_ptr": { | |
"entryPoint": 1380, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1006, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptr": { | |
"entryPoint": 1683, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptrt_uint256": { | |
"entryPoint": 1425, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 1026, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1581, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 2587, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 1069, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 2635, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 1084, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1637, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 1227, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 958, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_string_memory_ptr": { | |
"entryPoint": 1253, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_string_storage": { | |
"entryPoint": 1957, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 1515, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1525, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 2577, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_uint256": { | |
"entryPoint": 1799, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"clean_up_bytearray_end_slots_t_string_storage": { | |
"entryPoint": 2233, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 975, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"clear_storage_range_t_bytes1": { | |
"entryPoint": 2199, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"convert_t_uint256_to_t_uint256": { | |
"entryPoint": 2092, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
"entryPoint": 2370, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"copy_calldata_to_memory_with_cleanup": { | |
"entryPoint": 1301, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 1541, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"divide_by_32_ceil": { | |
"entryPoint": 1975, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 1909, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_used_part_and_set_length_of_short_byte_array": { | |
"entryPoint": 2343, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 1178, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"identity": { | |
"entryPoint": 2083, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mask_bytes_dynamic": { | |
"entryPoint": 2315, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 1754, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 1864, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 1133, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"prepare_store_t_uint256": { | |
"entryPoint": 2125, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 1109, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 1113, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 971, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 967, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 1117, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"shift_left_dynamic": { | |
"entryPoint": 1990, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"shift_right_unsigned_dynamic": { | |
"entryPoint": 2303, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"storage_set_to_zero_t_uint256": { | |
"entryPoint": 2175, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"update_byte_slice_dynamic32": { | |
"entryPoint": 2002, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"update_storage_value_t_uint256_to_t_uint256": { | |
"entryPoint": 2134, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 984, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"zero_value_for_split_t_uint256": { | |
"entryPoint": 2171, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:12398:1", | |
"nodeType": "YulBlock", | |
"src": "0:12398:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "47:35:1", | |
"nodeType": "YulBlock", | |
"src": "47:35:1", | |
"statements": [ | |
{ | |
"nativeSrc": "57:19:1", | |
"nodeType": "YulAssignment", | |
"src": "57:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "73:2:1", | |
"nodeType": "YulLiteral", | |
"src": "73:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "67:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:1" | |
}, | |
"nativeSrc": "67:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "57:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nativeSrc": "7:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "40:6:1", | |
"nodeType": "YulTypedName", | |
"src": "40:6:1", | |
"type": "" | |
} | |
], | |
"src": "7:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "177:28:1", | |
"nodeType": "YulBlock", | |
"src": "177:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "194:1:1", | |
"nodeType": "YulLiteral", | |
"src": "194:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "197:1:1", | |
"nodeType": "YulLiteral", | |
"src": "197:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "187:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:1" | |
}, | |
"nativeSrc": "187:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:1" | |
}, | |
"nativeSrc": "187:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "88:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "300:28:1", | |
"nodeType": "YulBlock", | |
"src": "300:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "317:1:1", | |
"nodeType": "YulLiteral", | |
"src": "317:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "320:1:1", | |
"nodeType": "YulLiteral", | |
"src": "320:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "310:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:1" | |
}, | |
"nativeSrc": "310:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:1" | |
}, | |
"nativeSrc": "310:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "211:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "379:32:1", | |
"nodeType": "YulBlock", | |
"src": "379:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "389:16:1", | |
"nodeType": "YulAssignment", | |
"src": "389:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "400:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "400:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "389:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "389:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "334:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "361:5:1", | |
"nodeType": "YulTypedName", | |
"src": "361:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "371:7:1", | |
"nodeType": "YulTypedName", | |
"src": "371:7:1", | |
"type": "" | |
} | |
], | |
"src": "334:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "460:79:1", | |
"nodeType": "YulBlock", | |
"src": "460:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "517:16:1", | |
"nodeType": "YulBlock", | |
"src": "517:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "526:1:1", | |
"nodeType": "YulLiteral", | |
"src": "526:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "529:1:1", | |
"nodeType": "YulLiteral", | |
"src": "529:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "519:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "519:6:1" | |
}, | |
"nativeSrc": "519:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "519:12:1" | |
}, | |
"nativeSrc": "519:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "519:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "483:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "483:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "508:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "508:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "490:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "490:17:1" | |
}, | |
"nativeSrc": "490:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "490:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "480:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "480:2:1" | |
}, | |
"nativeSrc": "480:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "480:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "473:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "473:6:1" | |
}, | |
"nativeSrc": "473:43:1", | |
"nodeType": "YulFunctionCall", | |
"src": "473:43:1" | |
}, | |
"nativeSrc": "470:63:1", | |
"nodeType": "YulIf", | |
"src": "470:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "417:122:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "453:5:1", | |
"nodeType": "YulTypedName", | |
"src": "453:5:1", | |
"type": "" | |
} | |
], | |
"src": "417:122:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "597:87:1", | |
"nodeType": "YulBlock", | |
"src": "597:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "607:29:1", | |
"nodeType": "YulAssignment", | |
"src": "607:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "629:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "629:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "616:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "616:12:1" | |
}, | |
"nativeSrc": "616:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "616:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "607:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "607:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "672:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "672:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "645:26:1", | |
"nodeType": "YulIdentifier", | |
"src": "645:26:1" | |
}, | |
"nativeSrc": "645:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "645:33:1" | |
}, | |
"nativeSrc": "645:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "645:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "545:139:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "575:6:1", | |
"nodeType": "YulTypedName", | |
"src": "575:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "583:3:1", | |
"nodeType": "YulTypedName", | |
"src": "583:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "591:5:1", | |
"nodeType": "YulTypedName", | |
"src": "591:5:1", | |
"type": "" | |
} | |
], | |
"src": "545:139:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "756:263:1", | |
"nodeType": "YulBlock", | |
"src": "756:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "802:83:1", | |
"nodeType": "YulBlock", | |
"src": "802:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "804:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "804:77:1" | |
}, | |
"nativeSrc": "804:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "804:79:1" | |
}, | |
"nativeSrc": "804:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "804:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "777:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "777:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "786:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "786:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "773:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "773:3:1" | |
}, | |
"nativeSrc": "773:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "773:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "798:2:1", | |
"nodeType": "YulLiteral", | |
"src": "798:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "769:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "769:3:1" | |
}, | |
"nativeSrc": "769:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "769:32:1" | |
}, | |
"nativeSrc": "766:119:1", | |
"nodeType": "YulIf", | |
"src": "766:119:1" | |
}, | |
{ | |
"nativeSrc": "895:117:1", | |
"nodeType": "YulBlock", | |
"src": "895:117:1", | |
"statements": [ | |
{ | |
"nativeSrc": "910:15:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "910:15:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "924:1:1", | |
"nodeType": "YulLiteral", | |
"src": "924:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "914:6:1", | |
"nodeType": "YulTypedName", | |
"src": "914:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "939:63:1", | |
"nodeType": "YulAssignment", | |
"src": "939:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "974:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "985:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "985:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "970:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nativeSrc": "970:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "970:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "994:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "994:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "949:20:1", | |
"nodeType": "YulIdentifier", | |
"src": "949:20:1" | |
}, | |
"nativeSrc": "949:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "949:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "939:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "939:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nativeSrc": "690:329:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "726:9:1", | |
"nodeType": "YulTypedName", | |
"src": "726:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "737:7:1", | |
"nodeType": "YulTypedName", | |
"src": "737:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "749:6:1", | |
"nodeType": "YulTypedName", | |
"src": "749:6:1", | |
"type": "" | |
} | |
], | |
"src": "690:329:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1090:53:1", | |
"nodeType": "YulBlock", | |
"src": "1090:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "1107:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1107:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1130:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1130:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1112:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1112:17:1" | |
}, | |
"nativeSrc": "1112:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1112:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1100:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1100:6:1" | |
}, | |
"nativeSrc": "1100:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1100:37:1" | |
}, | |
"nativeSrc": "1100:37:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1100:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nativeSrc": "1025:118:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1078:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1078:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "1085:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1085:3:1", | |
"type": "" | |
} | |
], | |
"src": "1025:118:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1247:124:1", | |
"nodeType": "YulBlock", | |
"src": "1247:124:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1257:26:1", | |
"nodeType": "YulAssignment", | |
"src": "1257:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1269:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1269:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1280:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1280:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1265:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1265:3:1" | |
}, | |
"nativeSrc": "1265:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1265:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1257:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1257:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "1337:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1337:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1350:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1350:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1361:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1361:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1346:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1346:3:1" | |
}, | |
"nativeSrc": "1346:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1346:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nativeSrc": "1293:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "1293:43:1" | |
}, | |
"nativeSrc": "1293:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1293:71:1" | |
}, | |
"nativeSrc": "1293:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1293:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nativeSrc": "1149:222:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1219:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1219:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "1231:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1231:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1242:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1242:4:1", | |
"type": "" | |
} | |
], | |
"src": "1149:222:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1466:28:1", | |
"nodeType": "YulBlock", | |
"src": "1466:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1483:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1483:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1486:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1486:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1476:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1476:6:1" | |
}, | |
"nativeSrc": "1476:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1476:12:1" | |
}, | |
"nativeSrc": "1476:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1476:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "1377:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1377:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1589:28:1", | |
"nodeType": "YulBlock", | |
"src": "1589:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1606:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1606:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1609:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1609:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1599:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1599:6:1" | |
}, | |
"nativeSrc": "1599:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1599:12:1" | |
}, | |
"nativeSrc": "1599:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1599:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "1500:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1500:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1671:54:1", | |
"nodeType": "YulBlock", | |
"src": "1671:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1681:38:1", | |
"nodeType": "YulAssignment", | |
"src": "1681:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1699:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1699:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1706:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1706:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1695:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1695:3:1" | |
}, | |
"nativeSrc": "1695:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1695:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1715:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1715:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "1711:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1711:3:1" | |
}, | |
"nativeSrc": "1711:7:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1711:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "1691:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1691:3:1" | |
}, | |
"nativeSrc": "1691:28:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1691:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1681:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1681:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "1623:102:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1654:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1654:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "1664:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1664:6:1", | |
"type": "" | |
} | |
], | |
"src": "1623:102:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1759:152:1", | |
"nodeType": "YulBlock", | |
"src": "1759:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1776:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1776:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1779:77:1", | |
"nodeType": "YulLiteral", | |
"src": "1779:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1769:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1769:6:1" | |
}, | |
"nativeSrc": "1769:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1769:88:1" | |
}, | |
"nativeSrc": "1769:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1769:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1873:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1873:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1876:4:1", | |
"nodeType": "YulLiteral", | |
"src": "1876:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1866:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1866:6:1" | |
}, | |
"nativeSrc": "1866:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1866:15:1" | |
}, | |
"nativeSrc": "1866:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1866:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1897:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1897:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1900:4:1", | |
"nodeType": "YulLiteral", | |
"src": "1900:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1890:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1890:6:1" | |
}, | |
"nativeSrc": "1890:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1890:15:1" | |
}, | |
"nativeSrc": "1890:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1890:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nativeSrc": "1731:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1731:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1960:238:1", | |
"nodeType": "YulBlock", | |
"src": "1960:238:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1970:58:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "1970:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1992:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1992:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2022:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2022:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2000:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2000:21:1" | |
}, | |
"nativeSrc": "2000:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2000:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1988:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1988:3:1" | |
}, | |
"nativeSrc": "1988:40:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1988:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "1974:10:1", | |
"nodeType": "YulTypedName", | |
"src": "1974:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2139:22:1", | |
"nodeType": "YulBlock", | |
"src": "2139:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2141:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2141:16:1" | |
}, | |
"nativeSrc": "2141:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2141:18:1" | |
}, | |
"nativeSrc": "2141:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2141:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2082:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2082:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2094:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2094:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2079:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2079:2:1" | |
}, | |
"nativeSrc": "2079:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2079:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2118:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2118:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2130:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2130:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "2115:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2115:2:1" | |
}, | |
"nativeSrc": "2115:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2115:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "2076:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2076:2:1" | |
}, | |
"nativeSrc": "2076:62:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2076:62:1" | |
}, | |
"nativeSrc": "2073:88:1", | |
"nodeType": "YulIf", | |
"src": "2073:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "2177:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2177:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nativeSrc": "2181:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "2181:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2170:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2170:6:1" | |
}, | |
"nativeSrc": "2170:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2170:22:1" | |
}, | |
"nativeSrc": "2170:22:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2170:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nativeSrc": "1917:281:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1946:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1946:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "1954:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1954:4:1", | |
"type": "" | |
} | |
], | |
"src": "1917:281:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2245:88:1", | |
"nodeType": "YulBlock", | |
"src": "2245:88:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2255:30:1", | |
"nodeType": "YulAssignment", | |
"src": "2255:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nativeSrc": "2265:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "2265:18:1" | |
}, | |
"nativeSrc": "2265:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2265:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2255:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2255:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2314:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2314:6:1" | |
}, | |
{ | |
"name": "size", | |
"nativeSrc": "2322:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2322:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nativeSrc": "2294:19:1", | |
"nodeType": "YulIdentifier", | |
"src": "2294:19:1" | |
}, | |
"nativeSrc": "2294:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2294:33:1" | |
}, | |
"nativeSrc": "2294:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2294:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nativeSrc": "2204:129:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2229:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2229:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "2238:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2238:6:1", | |
"type": "" | |
} | |
], | |
"src": "2204:129:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2406:241:1", | |
"nodeType": "YulBlock", | |
"src": "2406:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2511:22:1", | |
"nodeType": "YulBlock", | |
"src": "2511:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "2513:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "2513:16:1" | |
}, | |
"nativeSrc": "2513:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2513:18:1" | |
}, | |
"nativeSrc": "2513:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2513:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2483:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2483:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2491:18:1", | |
"nodeType": "YulLiteral", | |
"src": "2491:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "2480:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "2480:2:1" | |
}, | |
"nativeSrc": "2480:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2480:30:1" | |
}, | |
"nativeSrc": "2477:56:1", | |
"nodeType": "YulIf", | |
"src": "2477:56:1" | |
}, | |
{ | |
"nativeSrc": "2543:37:1", | |
"nodeType": "YulAssignment", | |
"src": "2543:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2573:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2573:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "2551:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "2551:21:1" | |
}, | |
"nativeSrc": "2551:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2551:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2543:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2543:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2617:23:1", | |
"nodeType": "YulAssignment", | |
"src": "2617:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2629:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2629:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2635:4:1", | |
"nodeType": "YulLiteral", | |
"src": "2635:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2625:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2625:3:1" | |
}, | |
"nativeSrc": "2625:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2625:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2617:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2617:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "2339:308:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2390:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2390:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nativeSrc": "2401:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2401:4:1", | |
"type": "" | |
} | |
], | |
"src": "2339:308:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2717:82:1", | |
"nodeType": "YulBlock", | |
"src": "2717:82:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2740:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2740:3:1" | |
}, | |
{ | |
"name": "src", | |
"nativeSrc": "2745:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2745:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2750:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2750:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nativeSrc": "2727:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "2727:12:1" | |
}, | |
"nativeSrc": "2727:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2727:30:1" | |
}, | |
"nativeSrc": "2727:30:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2727:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "2777:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2777:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2782:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2782:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2773:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2773:3:1" | |
}, | |
"nativeSrc": "2773:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2773:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2791:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2791:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2766:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2766:6:1" | |
}, | |
"nativeSrc": "2766:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2766:27:1" | |
}, | |
"nativeSrc": "2766:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2766:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "2653:146:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "2699:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2699:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "2704:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2704:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2709:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2709:6:1", | |
"type": "" | |
} | |
], | |
"src": "2653:146:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2889:341:1", | |
"nodeType": "YulBlock", | |
"src": "2889:341:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2899:75:1", | |
"nodeType": "YulAssignment", | |
"src": "2899:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "2966:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2966:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nativeSrc": "2924:41:1", | |
"nodeType": "YulIdentifier", | |
"src": "2924:41:1" | |
}, | |
"nativeSrc": "2924:49:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2924:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nativeSrc": "2908:15:1", | |
"nodeType": "YulIdentifier", | |
"src": "2908:15:1" | |
}, | |
"nativeSrc": "2908:66:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2908:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2899:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2899:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2990:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2990:5:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2997:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2997:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2983:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2983:6:1" | |
}, | |
"nativeSrc": "2983:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2983:21:1" | |
}, | |
"nativeSrc": "2983:21:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2983:21:1" | |
}, | |
{ | |
"nativeSrc": "3013:27:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3013:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3028:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3028:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3035:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3035:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3024:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3024:3:1" | |
}, | |
"nativeSrc": "3024:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3024:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "3017:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3017:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3078:83:1", | |
"nodeType": "YulBlock", | |
"src": "3078:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nativeSrc": "3080:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3080:77:1" | |
}, | |
"nativeSrc": "3080:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3080:79:1" | |
}, | |
"nativeSrc": "3080:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3080:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3059:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3059:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3064:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3064:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3055:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3055:3:1" | |
}, | |
"nativeSrc": "3055:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3055:16:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3073:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3073:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "3052:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3052:2:1" | |
}, | |
"nativeSrc": "3052:25:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3052:25:1" | |
}, | |
"nativeSrc": "3049:112:1", | |
"nodeType": "YulIf", | |
"src": "3049:112:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "3207:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3207:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "3212:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3212:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3217:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3217:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory_with_cleanup", | |
"nativeSrc": "3170:36:1", | |
"nodeType": "YulIdentifier", | |
"src": "3170:36:1" | |
}, | |
"nativeSrc": "3170:54:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3170:54:1" | |
}, | |
"nativeSrc": "3170:54:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3170:54:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "2805:425:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "2862:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2862:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "2867:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2867:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "2875:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2875:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "2883:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2883:5:1", | |
"type": "" | |
} | |
], | |
"src": "2805:425:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3312:278:1", | |
"nodeType": "YulBlock", | |
"src": "3312:278:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3361:83:1", | |
"nodeType": "YulBlock", | |
"src": "3361:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nativeSrc": "3363:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3363:77:1" | |
}, | |
"nativeSrc": "3363:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3363:79:1" | |
}, | |
"nativeSrc": "3363:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3363:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3340:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3340:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3348:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3348:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3336:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3336:3:1" | |
}, | |
"nativeSrc": "3336:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3336:17:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3355:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3355:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3332:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3332:3:1" | |
}, | |
"nativeSrc": "3332:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3332:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "3325:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3325:6:1" | |
}, | |
"nativeSrc": "3325:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3325:35:1" | |
}, | |
"nativeSrc": "3322:122:1", | |
"nodeType": "YulIf", | |
"src": "3322:122:1" | |
}, | |
{ | |
"nativeSrc": "3453:34:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3453:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3480:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3480:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "3467:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "3467:12:1" | |
}, | |
"nativeSrc": "3467:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3467:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "3457:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3457:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "3496:88:1", | |
"nodeType": "YulAssignment", | |
"src": "3496:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3557:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3557:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3565:4:1", | |
"nodeType": "YulLiteral", | |
"src": "3565:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3553:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3553:3:1" | |
}, | |
"nativeSrc": "3553:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3553:17:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "3572:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3572:6:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3580:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3580:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nativeSrc": "3505:47:1", | |
"nodeType": "YulIdentifier", | |
"src": "3505:47:1" | |
}, | |
"nativeSrc": "3505:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3505:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3496:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "3496:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "3250:340:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3290:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3290:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "3298:3:1", | |
"nodeType": "YulTypedName", | |
"src": "3298:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nativeSrc": "3306:5:1", | |
"nodeType": "YulTypedName", | |
"src": "3306:5:1", | |
"type": "" | |
} | |
], | |
"src": "3250:340:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3689:561:1", | |
"nodeType": "YulBlock", | |
"src": "3689:561:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "3735:83:1", | |
"nodeType": "YulBlock", | |
"src": "3735:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "3737:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3737:77:1" | |
}, | |
"nativeSrc": "3737:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3737:79:1" | |
}, | |
"nativeSrc": "3737:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3737:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3710:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "3710:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "3719:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "3719:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "3706:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3706:3:1" | |
}, | |
"nativeSrc": "3706:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3706:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3731:2:1", | |
"nodeType": "YulLiteral", | |
"src": "3731:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "3702:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3702:3:1" | |
}, | |
"nativeSrc": "3702:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3702:32:1" | |
}, | |
"nativeSrc": "3699:119:1", | |
"nodeType": "YulIf", | |
"src": "3699:119:1" | |
}, | |
{ | |
"nativeSrc": "3828:287:1", | |
"nodeType": "YulBlock", | |
"src": "3828:287:1", | |
"statements": [ | |
{ | |
"nativeSrc": "3843:45:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "3843:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "3874:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "3874:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3885:1:1", | |
"nodeType": "YulLiteral", | |
"src": "3885:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "3870:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "3870:3:1" | |
}, | |
"nativeSrc": "3870:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3870:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "3857:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "3857:12:1" | |
}, | |
"nativeSrc": "3857:31:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3857:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3847:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3847:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "3935:83:1", | |
"nodeType": "YulBlock", | |
"src": "3935:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "3937:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "3937:77:1" | |
}, | |
"nativeSrc": "3937:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3937:79:1" | |
}, | |
"nativeSrc": "3937:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "3937:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "3907:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "3907:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "3915:18:1", | |
"nodeType": "YulLiteral", | |
"src": "3915:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "3904:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "3904:2:1" | |
}, | |
"nativeSrc": "3904:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "3904:30:1" | |
}, | |
"nativeSrc": "3901:117:1", | |
"nodeType": "YulIf", | |
"src": "3901:117:1" | |
}, | |
{ | |
"nativeSrc": "4032:73:1", | |
"nodeType": "YulAssignment", | |
"src": "4032:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4077:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4077:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "4088:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4088:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4073:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4073:3:1" | |
}, | |
"nativeSrc": "4073:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4073:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "4097:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4097:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "4042:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "4042:30:1" | |
}, | |
"nativeSrc": "4042:63:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4042:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "4032:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4032:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4125:118:1", | |
"nodeType": "YulBlock", | |
"src": "4125:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4140:16:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4140:16:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4154:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4154:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "4144:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4144:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4170:63:1", | |
"nodeType": "YulAssignment", | |
"src": "4170:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "4205:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "4205:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "4216:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4216:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4201:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4201:3:1" | |
}, | |
"nativeSrc": "4201:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4201:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "4225:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "4225:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "4180:20:1", | |
"nodeType": "YulIdentifier", | |
"src": "4180:20:1" | |
}, | |
"nativeSrc": "4180:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4180:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nativeSrc": "4170:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4170:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256", | |
"nativeSrc": "3596:654:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "3651:9:1", | |
"nodeType": "YulTypedName", | |
"src": "3651:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "3662:7:1", | |
"nodeType": "YulTypedName", | |
"src": "3662:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "3674:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3674:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nativeSrc": "3682:6:1", | |
"nodeType": "YulTypedName", | |
"src": "3682:6:1", | |
"type": "" | |
} | |
], | |
"src": "3596:654:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4315:40:1", | |
"nodeType": "YulBlock", | |
"src": "4315:40:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4326:22:1", | |
"nodeType": "YulAssignment", | |
"src": "4326:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4342:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4342:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4336:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4336:5:1" | |
}, | |
"nativeSrc": "4336:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4336:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4326:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4326:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "4256:99:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4298:5:1", | |
"nodeType": "YulTypedName", | |
"src": "4298:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4308:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4308:6:1", | |
"type": "" | |
} | |
], | |
"src": "4256:99:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4457:73:1", | |
"nodeType": "YulBlock", | |
"src": "4457:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4474:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4474:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4479:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4479:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4467:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4467:6:1" | |
}, | |
"nativeSrc": "4467:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4467:19:1" | |
}, | |
"nativeSrc": "4467:19:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4467:19:1" | |
}, | |
{ | |
"nativeSrc": "4495:29:1", | |
"nodeType": "YulAssignment", | |
"src": "4495:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4514:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4514:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4519:4:1", | |
"nodeType": "YulLiteral", | |
"src": "4519:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4510:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4510:3:1" | |
}, | |
"nativeSrc": "4510:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4510:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "4495:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "4495:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "4361:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4429:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4429:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4434:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4434:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "4445:11:1", | |
"nodeType": "YulTypedName", | |
"src": "4445:11:1", | |
"type": "" | |
} | |
], | |
"src": "4361:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4598:184:1", | |
"nodeType": "YulBlock", | |
"src": "4598:184:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4608:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4608:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "4617:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4617:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4612:1:1", | |
"nodeType": "YulTypedName", | |
"src": "4612:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4677:63:1", | |
"nodeType": "YulBlock", | |
"src": "4677:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "4702:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4702:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "4707:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4707:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4698:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4698:3:1" | |
}, | |
"nativeSrc": "4698:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4698:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4721:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4721:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "4726:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4726:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4717:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4717:3:1" | |
}, | |
"nativeSrc": "4717:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4717:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "4711:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4711:5:1" | |
}, | |
"nativeSrc": "4711:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4711:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4691:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4691:6:1" | |
}, | |
"nativeSrc": "4691:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4691:39:1" | |
}, | |
"nativeSrc": "4691:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4691:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4638:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4638:1:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4641:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4641:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "4635:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "4635:2:1" | |
}, | |
"nativeSrc": "4635:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4635:13:1" | |
}, | |
"nativeSrc": "4627:113:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "4649:19:1", | |
"nodeType": "YulBlock", | |
"src": "4649:19:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4651:15:1", | |
"nodeType": "YulAssignment", | |
"src": "4651:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4660:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4660:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4663:2:1", | |
"nodeType": "YulLiteral", | |
"src": "4663:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4656:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4656:3:1" | |
}, | |
"nativeSrc": "4656:10:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4656:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "4651:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "4651:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "4631:3:1", | |
"nodeType": "YulBlock", | |
"src": "4631:3:1", | |
"statements": [] | |
}, | |
"src": "4627:113:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "4760:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4760:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4765:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4765:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "4756:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4756:3:1" | |
}, | |
"nativeSrc": "4756:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4756:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "4774:1:1", | |
"nodeType": "YulLiteral", | |
"src": "4774:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "4749:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "4749:6:1" | |
}, | |
"nativeSrc": "4749:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4749:27:1" | |
}, | |
"nativeSrc": "4749:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "4749:27:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "4536:246:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "4580:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4580:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "4585:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4585:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "4590:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4590:6:1", | |
"type": "" | |
} | |
], | |
"src": "4536:246:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "4880:285:1", | |
"nodeType": "YulBlock", | |
"src": "4880:285:1", | |
"statements": [ | |
{ | |
"nativeSrc": "4890:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "4890:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4937:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "4937:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "4904:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "4904:32:1" | |
}, | |
"nativeSrc": "4904:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4904:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "4894:6:1", | |
"nodeType": "YulTypedName", | |
"src": "4894:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "4952:78:1", | |
"nodeType": "YulAssignment", | |
"src": "4952:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "5018:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5018:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "5023:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5023:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "4959:58:1", | |
"nodeType": "YulIdentifier", | |
"src": "4959:58:1" | |
}, | |
"nativeSrc": "4959:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "4959:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "4952:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "4952:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "5078:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "5078:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5085:4:1", | |
"nodeType": "YulLiteral", | |
"src": "5085:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5074:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5074:3:1" | |
}, | |
"nativeSrc": "5074:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5074:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "5092:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5092:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "5097:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5097:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "5039:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "5039:34:1" | |
}, | |
"nativeSrc": "5039:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5039:65:1" | |
}, | |
"nativeSrc": "5039:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5039:65:1" | |
}, | |
{ | |
"nativeSrc": "5113:46:1", | |
"nodeType": "YulAssignment", | |
"src": "5113:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "5124:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5124:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "5151:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5151:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "5129:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "5129:21:1" | |
}, | |
"nativeSrc": "5129:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5129:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5120:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5120:3:1" | |
}, | |
"nativeSrc": "5120:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5120:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "5113:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5113:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "4788:377:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "4861:5:1", | |
"nodeType": "YulTypedName", | |
"src": "4861:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "4868:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4868:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "4876:3:1", | |
"nodeType": "YulTypedName", | |
"src": "4876:3:1", | |
"type": "" | |
} | |
], | |
"src": "4788:377:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5317:277:1", | |
"nodeType": "YulBlock", | |
"src": "5317:277:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5327:26:1", | |
"nodeType": "YulAssignment", | |
"src": "5327:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5339:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5339:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5350:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5350:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5335:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5335:3:1" | |
}, | |
"nativeSrc": "5335:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5335:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5327:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5327:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "5407:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5407:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5420:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5420:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5431:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5431:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5416:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5416:3:1" | |
}, | |
"nativeSrc": "5416:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5416:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nativeSrc": "5363:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "5363:43:1" | |
}, | |
"nativeSrc": "5363:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5363:71:1" | |
}, | |
"nativeSrc": "5363:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5363:71:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5455:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5455:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5466:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5466:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5451:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5451:3:1" | |
}, | |
"nativeSrc": "5451:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5451:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5475:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5475:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "5481:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5481:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "5471:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5471:3:1" | |
}, | |
"nativeSrc": "5471:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5471:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "5444:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5444:6:1" | |
}, | |
"nativeSrc": "5444:48:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5444:48:1" | |
}, | |
"nativeSrc": "5444:48:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5444:48:1" | |
}, | |
{ | |
"nativeSrc": "5501:86:1", | |
"nodeType": "YulAssignment", | |
"src": "5501:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nativeSrc": "5573:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5573:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nativeSrc": "5582:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5582:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "5509:63:1", | |
"nodeType": "YulIdentifier", | |
"src": "5509:63:1" | |
}, | |
"nativeSrc": "5509:78:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5509:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5501:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "5501:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed", | |
"nativeSrc": "5171:423:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5281:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5281:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nativeSrc": "5293:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5293:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "5301:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5301:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "5312:4:1", | |
"nodeType": "YulTypedName", | |
"src": "5312:4:1", | |
"type": "" | |
} | |
], | |
"src": "5171:423:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5676:433:1", | |
"nodeType": "YulBlock", | |
"src": "5676:433:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "5722:83:1", | |
"nodeType": "YulBlock", | |
"src": "5722:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "5724:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "5724:77:1" | |
}, | |
"nativeSrc": "5724:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5724:79:1" | |
}, | |
"nativeSrc": "5724:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5724:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "5697:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "5697:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "5706:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5706:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "5693:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5693:3:1" | |
}, | |
"nativeSrc": "5693:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5693:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5718:2:1", | |
"nodeType": "YulLiteral", | |
"src": "5718:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "5689:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5689:3:1" | |
}, | |
"nativeSrc": "5689:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5689:32:1" | |
}, | |
"nativeSrc": "5686:119:1", | |
"nodeType": "YulIf", | |
"src": "5686:119:1" | |
}, | |
{ | |
"nativeSrc": "5815:287:1", | |
"nodeType": "YulBlock", | |
"src": "5815:287:1", | |
"statements": [ | |
{ | |
"nativeSrc": "5830:45:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "5830:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5861:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "5861:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5872:1:1", | |
"nodeType": "YulLiteral", | |
"src": "5872:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "5857:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "5857:3:1" | |
}, | |
"nativeSrc": "5857:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5857:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "5844:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "5844:12:1" | |
}, | |
"nativeSrc": "5844:31:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5844:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "5834:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5834:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "5922:83:1", | |
"nodeType": "YulBlock", | |
"src": "5922:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "5924:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "5924:77:1" | |
}, | |
"nativeSrc": "5924:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5924:79:1" | |
}, | |
"nativeSrc": "5924:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "5924:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "5894:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "5894:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "5902:18:1", | |
"nodeType": "YulLiteral", | |
"src": "5902:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "5891:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "5891:2:1" | |
}, | |
"nativeSrc": "5891:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "5891:30:1" | |
}, | |
"nativeSrc": "5888:117:1", | |
"nodeType": "YulIf", | |
"src": "5888:117:1" | |
}, | |
{ | |
"nativeSrc": "6019:73:1", | |
"nodeType": "YulAssignment", | |
"src": "6019:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "6064:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "6064:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "6075:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6075:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "6060:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6060:3:1" | |
}, | |
"nativeSrc": "6060:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6060:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "6084:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6084:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nativeSrc": "6029:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "6029:30:1" | |
}, | |
"nativeSrc": "6029:63:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6029:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "6019:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6019:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptr", | |
"nativeSrc": "5600:509:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "5646:9:1", | |
"nodeType": "YulTypedName", | |
"src": "5646:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "5657:7:1", | |
"nodeType": "YulTypedName", | |
"src": "5657:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "5669:6:1", | |
"nodeType": "YulTypedName", | |
"src": "5669:6:1", | |
"type": "" | |
} | |
], | |
"src": "5600:509:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6143:152:1", | |
"nodeType": "YulBlock", | |
"src": "6143:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6160:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6160:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6163:77:1", | |
"nodeType": "YulLiteral", | |
"src": "6163:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6153:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6153:6:1" | |
}, | |
"nativeSrc": "6153:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6153:88:1" | |
}, | |
"nativeSrc": "6153:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6153:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6257:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6257:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6260:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6260:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6250:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6250:6:1" | |
}, | |
"nativeSrc": "6250:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6250:15:1" | |
}, | |
"nativeSrc": "6250:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6250:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6281:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6281:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6284:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6284:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "6274:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6274:6:1" | |
}, | |
"nativeSrc": "6274:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6274:15:1" | |
}, | |
"nativeSrc": "6274:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6274:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nativeSrc": "6115:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "6115:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6349:362:1", | |
"nodeType": "YulBlock", | |
"src": "6349:362:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6359:25:1", | |
"nodeType": "YulAssignment", | |
"src": "6359:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6382:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6382:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "6364:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6364:17:1" | |
}, | |
"nativeSrc": "6364:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6364:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6359:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6359:1:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6393:25:1", | |
"nodeType": "YulAssignment", | |
"src": "6393:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nativeSrc": "6416:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6416:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "6398:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6398:17:1" | |
}, | |
"nativeSrc": "6398:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6398:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nativeSrc": "6393:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6393:1:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6427:28:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6427:28:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6450:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6450:1:1" | |
}, | |
{ | |
"name": "y", | |
"nativeSrc": "6453:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6453:1:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "6446:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6446:3:1" | |
}, | |
"nativeSrc": "6446:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6446:9:1" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nativeSrc": "6431:11:1", | |
"nodeType": "YulTypedName", | |
"src": "6431:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6464:41:1", | |
"nodeType": "YulAssignment", | |
"src": "6464:41:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nativeSrc": "6493:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "6493:11:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "6475:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "6475:17:1" | |
}, | |
"nativeSrc": "6475:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6475:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nativeSrc": "6464:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6464:7:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6682:22:1", | |
"nodeType": "YulBlock", | |
"src": "6682:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nativeSrc": "6684:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "6684:16:1" | |
}, | |
"nativeSrc": "6684:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6684:18:1" | |
}, | |
"nativeSrc": "6684:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6684:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6615:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6615:1:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "6608:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6608:6:1" | |
}, | |
"nativeSrc": "6608:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6608:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nativeSrc": "6638:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6638:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nativeSrc": "6645:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "6645:7:1" | |
}, | |
{ | |
"name": "x", | |
"nativeSrc": "6654:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "6654:1:1" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "6641:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6641:3:1" | |
}, | |
"nativeSrc": "6641:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6641:15:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "6635:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6635:2:1" | |
}, | |
"nativeSrc": "6635:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6635:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "6588:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "6588:2:1" | |
}, | |
"nativeSrc": "6588:83:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6588:83:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "6568:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6568:6:1" | |
}, | |
"nativeSrc": "6568:113:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6568:113:1" | |
}, | |
"nativeSrc": "6565:139:1", | |
"nodeType": "YulIf", | |
"src": "6565:139:1" | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nativeSrc": "6301:410:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nativeSrc": "6332:1:1", | |
"nodeType": "YulTypedName", | |
"src": "6332:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nativeSrc": "6335:1:1", | |
"nodeType": "YulTypedName", | |
"src": "6335:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nativeSrc": "6341:7:1", | |
"nodeType": "YulTypedName", | |
"src": "6341:7:1", | |
"type": "" | |
} | |
], | |
"src": "6301:410:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6745:152:1", | |
"nodeType": "YulBlock", | |
"src": "6745:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6762:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6762:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6765:77:1", | |
"nodeType": "YulLiteral", | |
"src": "6765:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6755:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6755:6:1" | |
}, | |
"nativeSrc": "6755:88:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6755:88:1" | |
}, | |
"nativeSrc": "6755:88:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6755:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6859:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6859:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6862:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6862:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "6852:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6852:6:1" | |
}, | |
"nativeSrc": "6852:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6852:15:1" | |
}, | |
"nativeSrc": "6852:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6852:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "6883:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6883:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6886:4:1", | |
"nodeType": "YulLiteral", | |
"src": "6886:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "6876:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6876:6:1" | |
}, | |
"nativeSrc": "6876:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6876:15:1" | |
}, | |
"nativeSrc": "6876:15:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "6876:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nativeSrc": "6717:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "6717:180:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "6954:269:1", | |
"nodeType": "YulBlock", | |
"src": "6954:269:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6964:22:1", | |
"nodeType": "YulAssignment", | |
"src": "6964:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "6978:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "6978:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "6984:1:1", | |
"nodeType": "YulLiteral", | |
"src": "6984:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "6974:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "6974:3:1" | |
}, | |
"nativeSrc": "6974:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "6974:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "6964:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "6964:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "6995:38:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "6995:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7025:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7025:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7031:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7031:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7021:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7021:3:1" | |
}, | |
"nativeSrc": "7021:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7021:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "6999:18:1", | |
"nodeType": "YulTypedName", | |
"src": "6999:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7072:51:1", | |
"nodeType": "YulBlock", | |
"src": "7072:51:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7086:27:1", | |
"nodeType": "YulAssignment", | |
"src": "7086:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "7100:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7100:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7108:4:1", | |
"nodeType": "YulLiteral", | |
"src": "7108:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7096:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7096:3:1" | |
}, | |
"nativeSrc": "7096:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7096:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "7086:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7086:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "7052:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7052:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "7045:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7045:6:1" | |
}, | |
"nativeSrc": "7045:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7045:26:1" | |
}, | |
"nativeSrc": "7042:81:1", | |
"nodeType": "YulIf", | |
"src": "7042:81:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7175:42:1", | |
"nodeType": "YulBlock", | |
"src": "7175:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nativeSrc": "7189:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "7189:16:1" | |
}, | |
"nativeSrc": "7189:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7189:18:1" | |
}, | |
"nativeSrc": "7189:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "7189:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nativeSrc": "7139:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7139:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "7162:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7162:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7170:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7170:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "7159:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7159:2:1" | |
}, | |
"nativeSrc": "7159:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7159:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "7136:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7136:2:1" | |
}, | |
"nativeSrc": "7136:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7136:38:1" | |
}, | |
"nativeSrc": "7133:84:1", | |
"nodeType": "YulIf", | |
"src": "7133:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nativeSrc": "6903:320:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "6938:4:1", | |
"nodeType": "YulTypedName", | |
"src": "6938:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "6947:6:1", | |
"nodeType": "YulTypedName", | |
"src": "6947:6:1", | |
"type": "" | |
} | |
], | |
"src": "6903:320:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7283:87:1", | |
"nodeType": "YulBlock", | |
"src": "7283:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7293:11:1", | |
"nodeType": "YulAssignment", | |
"src": "7293:11:1", | |
"value": { | |
"name": "ptr", | |
"nativeSrc": "7301:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7301:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7293:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7293:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7321:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7321:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "ptr", | |
"nativeSrc": "7324:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7324:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "7314:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7314:6:1" | |
}, | |
"nativeSrc": "7314:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7314:14:1" | |
}, | |
"nativeSrc": "7314:14:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "7314:14:1" | |
}, | |
{ | |
"nativeSrc": "7337:26:1", | |
"nodeType": "YulAssignment", | |
"src": "7337:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "7355:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7355:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7358:4:1", | |
"nodeType": "YulLiteral", | |
"src": "7358:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "keccak256", | |
"nativeSrc": "7345:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "7345:9:1" | |
}, | |
"nativeSrc": "7345:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7345:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7337:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7337:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "7229:141:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nativeSrc": "7270:3:1", | |
"nodeType": "YulTypedName", | |
"src": "7270:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nativeSrc": "7278:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7278:4:1", | |
"type": "" | |
} | |
], | |
"src": "7229:141:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7420:49:1", | |
"nodeType": "YulBlock", | |
"src": "7420:49:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7430:33:1", | |
"nodeType": "YulAssignment", | |
"src": "7430:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7448:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7448:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7455:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7455:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "7444:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7444:3:1" | |
}, | |
"nativeSrc": "7444:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7444:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7460:2:1", | |
"nodeType": "YulLiteral", | |
"src": "7460:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nativeSrc": "7440:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7440:3:1" | |
}, | |
"nativeSrc": "7440:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7440:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7430:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7430:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "7376:93:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7403:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7403:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7413:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7413:6:1", | |
"type": "" | |
} | |
], | |
"src": "7376:93:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7528:54:1", | |
"nodeType": "YulBlock", | |
"src": "7528:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7538:37:1", | |
"nodeType": "YulAssignment", | |
"src": "7538:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7563:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7563:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7569:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7569:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nativeSrc": "7559:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7559:3:1" | |
}, | |
"nativeSrc": "7559:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7559:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7538:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7538:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_dynamic", | |
"nativeSrc": "7475:107:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "7503:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7503:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "7509:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7509:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "7519:8:1", | |
"nodeType": "YulTypedName", | |
"src": "7519:8:1", | |
"type": "" | |
} | |
], | |
"src": "7475:107:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "7664:317:1", | |
"nodeType": "YulBlock", | |
"src": "7664:317:1", | |
"statements": [ | |
{ | |
"nativeSrc": "7674:35:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7674:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "7695:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "7695:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7707:1:1", | |
"nodeType": "YulLiteral", | |
"src": "7707:1:1", | |
"type": "", | |
"value": "8" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "7691:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7691:3:1" | |
}, | |
"nativeSrc": "7691:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7691:18:1" | |
}, | |
"variables": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "7678:9:1", | |
"nodeType": "YulTypedName", | |
"src": "7678:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7718:109:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "7718:109:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "7749:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "7749:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "7760:66:1", | |
"nodeType": "YulLiteral", | |
"src": "7760:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "7730:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7730:18:1" | |
}, | |
"nativeSrc": "7730:97:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7730:97:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "7722:4:1", | |
"nodeType": "YulTypedName", | |
"src": "7722:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7836:51:1", | |
"nodeType": "YulAssignment", | |
"src": "7836:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "shiftBits", | |
"nativeSrc": "7867:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "7867:9:1" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7878:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7878:8:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_dynamic", | |
"nativeSrc": "7848:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "7848:18:1" | |
}, | |
"nativeSrc": "7848:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7848:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7836:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7836:8:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7896:30:1", | |
"nodeType": "YulAssignment", | |
"src": "7896:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7909:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7909:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "7920:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7920:4:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "7916:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7916:3:1" | |
}, | |
"nativeSrc": "7916:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7916:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7905:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7905:3:1" | |
}, | |
"nativeSrc": "7905:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7905:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7896:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7896:5:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "7935:40:1", | |
"nodeType": "YulAssignment", | |
"src": "7935:40:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7948:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "7948:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7959:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "7959:8:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "7969:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "7969:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "7955:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "7955:3:1" | |
}, | |
"nativeSrc": "7955:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7955:19:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "7945:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "7945:2:1" | |
}, | |
"nativeSrc": "7945:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "7945:30:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7935:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "7935:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "7588:393:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "7625:5:1", | |
"nodeType": "YulTypedName", | |
"src": "7625:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "shiftBytes", | |
"nativeSrc": "7632:10:1", | |
"nodeType": "YulTypedName", | |
"src": "7632:10:1", | |
"type": "" | |
}, | |
{ | |
"name": "toInsert", | |
"nativeSrc": "7644:8:1", | |
"nodeType": "YulTypedName", | |
"src": "7644:8:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "7657:6:1", | |
"nodeType": "YulTypedName", | |
"src": "7657:6:1", | |
"type": "" | |
} | |
], | |
"src": "7588:393:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8019:28:1", | |
"nodeType": "YulBlock", | |
"src": "8019:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8029:12:1", | |
"nodeType": "YulAssignment", | |
"src": "8029:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "8036:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8036:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8029:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8029:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "identity", | |
"nativeSrc": "7987:60:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8005:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8005:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8015:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8015:3:1", | |
"type": "" | |
} | |
], | |
"src": "7987:60:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8113:82:1", | |
"nodeType": "YulBlock", | |
"src": "8113:82:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8123:66:1", | |
"nodeType": "YulAssignment", | |
"src": "8123:66:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8181:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8181:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "8163:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "8163:17:1" | |
}, | |
"nativeSrc": "8163:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8163:24:1" | |
} | |
], | |
"functionName": { | |
"name": "identity", | |
"nativeSrc": "8154:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "8154:8:1" | |
}, | |
"nativeSrc": "8154:34:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8154:34:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "8136:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "8136:17:1" | |
}, | |
"nativeSrc": "8136:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8136:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "8123:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "8123:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "8053:142:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8093:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8093:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nativeSrc": "8103:9:1", | |
"nodeType": "YulTypedName", | |
"src": "8103:9:1", | |
"type": "" | |
} | |
], | |
"src": "8053:142:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8248:28:1", | |
"nodeType": "YulBlock", | |
"src": "8248:28:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8258:12:1", | |
"nodeType": "YulAssignment", | |
"src": "8258:12:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "8265:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8265:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8258:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8258:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "8201:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "8234:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8234:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8244:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8244:3:1", | |
"type": "" | |
} | |
], | |
"src": "8201:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8358:193:1", | |
"nodeType": "YulBlock", | |
"src": "8358:193:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8368:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8368:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value_0", | |
"nativeSrc": "8423:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "8423:7:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint256_to_t_uint256", | |
"nativeSrc": "8392:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "8392:30:1" | |
}, | |
"nativeSrc": "8392:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8392:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "8372:16:1", | |
"nodeType": "YulTypedName", | |
"src": "8372:16:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8447:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8447:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8487:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8487:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "8481:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8481:5:1" | |
}, | |
"nativeSrc": "8481:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8481:11:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8494:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8494:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "convertedValue_0", | |
"nativeSrc": "8526:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "8526:16:1" | |
} | |
], | |
"functionName": { | |
"name": "prepare_store_t_uint256", | |
"nativeSrc": "8502:23:1", | |
"nodeType": "YulIdentifier", | |
"src": "8502:23:1" | |
}, | |
"nativeSrc": "8502:41:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8502:41:1" | |
} | |
], | |
"functionName": { | |
"name": "update_byte_slice_dynamic32", | |
"nativeSrc": "8453:27:1", | |
"nodeType": "YulIdentifier", | |
"src": "8453:27:1" | |
}, | |
"nativeSrc": "8453:91:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8453:91:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "8440:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8440:6:1" | |
}, | |
"nativeSrc": "8440:105:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8440:105:1" | |
}, | |
"nativeSrc": "8440:105:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8440:105:1" | |
} | |
] | |
}, | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "8282:269:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8335:4:1", | |
"nodeType": "YulTypedName", | |
"src": "8335:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8341:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8341:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value_0", | |
"nativeSrc": "8349:7:1", | |
"nodeType": "YulTypedName", | |
"src": "8349:7:1", | |
"type": "" | |
} | |
], | |
"src": "8282:269:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8606:24:1", | |
"nodeType": "YulBlock", | |
"src": "8606:24:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8616:8:1", | |
"nodeType": "YulAssignment", | |
"src": "8616:8:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "8623:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8623:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8616:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8616:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "8557:73:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nativeSrc": "8602:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8602:3:1", | |
"type": "" | |
} | |
], | |
"src": "8557:73:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8689:136:1", | |
"nodeType": "YulBlock", | |
"src": "8689:136:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8699:46:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "8699:46:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "zero_value_for_split_t_uint256", | |
"nativeSrc": "8713:30:1", | |
"nodeType": "YulIdentifier", | |
"src": "8713:30:1" | |
}, | |
"nativeSrc": "8713:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8713:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "zero_0", | |
"nativeSrc": "8703:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8703:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8798:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "8798:4:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8804:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8804:6:1" | |
}, | |
{ | |
"name": "zero_0", | |
"nativeSrc": "8812:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "8812:6:1" | |
} | |
], | |
"functionName": { | |
"name": "update_storage_value_t_uint256_to_t_uint256", | |
"nativeSrc": "8754:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "8754:43:1" | |
}, | |
"nativeSrc": "8754:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8754:65:1" | |
}, | |
"nativeSrc": "8754:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8754:65:1" | |
} | |
] | |
}, | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "8636:189:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "8675:4:1", | |
"nodeType": "YulTypedName", | |
"src": "8675:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "8681:6:1", | |
"nodeType": "YulTypedName", | |
"src": "8681:6:1", | |
"type": "" | |
} | |
], | |
"src": "8636:189:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "8881:136:1", | |
"nodeType": "YulBlock", | |
"src": "8881:136:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "8948:63:1", | |
"nodeType": "YulBlock", | |
"src": "8948:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8992:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8992:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8999:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8999:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "storage_set_to_zero_t_uint256", | |
"nativeSrc": "8962:29:1", | |
"nodeType": "YulIdentifier", | |
"src": "8962:29:1" | |
}, | |
"nativeSrc": "8962:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8962:39:1" | |
}, | |
"nativeSrc": "8962:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "8962:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8901:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8901:5:1" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "8908:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8908:3:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "8898:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "8898:2:1" | |
}, | |
"nativeSrc": "8898:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8898:14:1" | |
}, | |
"nativeSrc": "8891:120:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "8913:26:1", | |
"nodeType": "YulBlock", | |
"src": "8913:26:1", | |
"statements": [ | |
{ | |
"nativeSrc": "8915:22:1", | |
"nodeType": "YulAssignment", | |
"src": "8915:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8928:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8928:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "8935:1:1", | |
"nodeType": "YulLiteral", | |
"src": "8935:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "8924:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "8924:3:1" | |
}, | |
"nativeSrc": "8924:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "8924:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8915:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "8915:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "8895:2:1", | |
"nodeType": "YulBlock", | |
"src": "8895:2:1", | |
"statements": [] | |
}, | |
"src": "8891:120:1" | |
} | |
] | |
}, | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "8831:186:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nativeSrc": "8869:5:1", | |
"nodeType": "YulTypedName", | |
"src": "8869:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "8876:3:1", | |
"nodeType": "YulTypedName", | |
"src": "8876:3:1", | |
"type": "" | |
} | |
], | |
"src": "8831:186:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9102:464:1", | |
"nodeType": "YulBlock", | |
"src": "9102:464:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "9128:431:1", | |
"nodeType": "YulBlock", | |
"src": "9128:431:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9142:54:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9142:54:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nativeSrc": "9190:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9190:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "9158:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "9158:31:1" | |
}, | |
"nativeSrc": "9158:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9158:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "9146:8:1", | |
"nodeType": "YulTypedName", | |
"src": "9146:8:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "9209:63:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9209:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "9232:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9232:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "9260:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "9260:10:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "9242:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "9242:17:1" | |
}, | |
"nativeSrc": "9242:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9242:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "9228:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9228:3:1" | |
}, | |
"nativeSrc": "9228:44:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9228:44:1" | |
}, | |
"variables": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "9213:11:1", | |
"nodeType": "YulTypedName", | |
"src": "9213:11:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9429:27:1", | |
"nodeType": "YulBlock", | |
"src": "9429:27:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9431:23:1", | |
"nodeType": "YulAssignment", | |
"src": "9431:23:1", | |
"value": { | |
"name": "dataArea", | |
"nativeSrc": "9446:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9446:8:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "9431:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "9431:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "startIndex", | |
"nativeSrc": "9413:10:1", | |
"nodeType": "YulIdentifier", | |
"src": "9413:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "9425:2:1", | |
"nodeType": "YulLiteral", | |
"src": "9425:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "9410:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "9410:2:1" | |
}, | |
"nativeSrc": "9410:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9410:18:1" | |
}, | |
"nativeSrc": "9407:49:1", | |
"nodeType": "YulIf", | |
"src": "9407:49:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "deleteStart", | |
"nativeSrc": "9498:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "9498:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "dataArea", | |
"nativeSrc": "9515:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9515:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "9543:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9543:3:1" | |
} | |
], | |
"functionName": { | |
"name": "divide_by_32_ceil", | |
"nativeSrc": "9525:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "9525:17:1" | |
}, | |
"nativeSrc": "9525:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9525:22:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "9511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9511:3:1" | |
}, | |
"nativeSrc": "9511:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9511:37:1" | |
} | |
], | |
"functionName": { | |
"name": "clear_storage_range_t_bytes1", | |
"nativeSrc": "9469:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "9469:28:1" | |
}, | |
"nativeSrc": "9469:80:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9469:80:1" | |
}, | |
"nativeSrc": "9469:80:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "9469:80:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "len", | |
"nativeSrc": "9119:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9119:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "9124:2:1", | |
"nodeType": "YulLiteral", | |
"src": "9124:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "9116:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "9116:2:1" | |
}, | |
"nativeSrc": "9116:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9116:11:1" | |
}, | |
"nativeSrc": "9113:446:1", | |
"nodeType": "YulIf", | |
"src": "9113:446:1" | |
} | |
] | |
}, | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "9023:543:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "array", | |
"nativeSrc": "9078:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9078:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "9085:3:1", | |
"nodeType": "YulTypedName", | |
"src": "9085:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "startIndex", | |
"nativeSrc": "9090:10:1", | |
"nodeType": "YulTypedName", | |
"src": "9090:10:1", | |
"type": "" | |
} | |
], | |
"src": "9023:543:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9635:54:1", | |
"nodeType": "YulBlock", | |
"src": "9635:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9645:37:1", | |
"nodeType": "YulAssignment", | |
"src": "9645:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "9670:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9670:4:1" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "9676:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9676:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shr", | |
"nativeSrc": "9666:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9666:3:1" | |
}, | |
"nativeSrc": "9666:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9666:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "9645:8:1", | |
"nodeType": "YulIdentifier", | |
"src": "9645:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "9572:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "bits", | |
"nativeSrc": "9610:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9610:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "value", | |
"nativeSrc": "9616:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9616:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nativeSrc": "9626:8:1", | |
"nodeType": "YulTypedName", | |
"src": "9626:8:1", | |
"type": "" | |
} | |
], | |
"src": "9572:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9746:118:1", | |
"nodeType": "YulBlock", | |
"src": "9746:118:1", | |
"statements": [ | |
{ | |
"nativeSrc": "9756:68:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "9756:68:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "9805:1:1", | |
"nodeType": "YulLiteral", | |
"src": "9805:1:1", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "9808:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "9808:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "9801:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9801:3:1" | |
}, | |
"nativeSrc": "9801:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9801:13:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "9820:1:1", | |
"nodeType": "YulLiteral", | |
"src": "9820:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "9816:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9816:3:1" | |
}, | |
"nativeSrc": "9816:6:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9816:6:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_right_unsigned_dynamic", | |
"nativeSrc": "9772:28:1", | |
"nodeType": "YulIdentifier", | |
"src": "9772:28:1" | |
}, | |
"nativeSrc": "9772:51:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9772:51:1" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "9768:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9768:3:1" | |
}, | |
"nativeSrc": "9768:56:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9768:56:1" | |
}, | |
"variables": [ | |
{ | |
"name": "mask", | |
"nativeSrc": "9760:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9760:4:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "9833:25:1", | |
"nodeType": "YulAssignment", | |
"src": "9833:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "9847:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9847:4:1" | |
}, | |
{ | |
"name": "mask", | |
"nativeSrc": "9853:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "9853:4:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "9843:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "9843:3:1" | |
}, | |
"nativeSrc": "9843:15:1", | |
"nodeType": "YulFunctionCall", | |
"src": "9843:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "9833:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "9833:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "9695:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "9723:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9723:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "bytes", | |
"nativeSrc": "9729:5:1", | |
"nodeType": "YulTypedName", | |
"src": "9729:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "9739:6:1", | |
"nodeType": "YulTypedName", | |
"src": "9739:6:1", | |
"type": "" | |
} | |
], | |
"src": "9695:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "9950:214:1", | |
"nodeType": "YulBlock", | |
"src": "9950:214:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10083:37:1", | |
"nodeType": "YulAssignment", | |
"src": "10083:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "10110:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10110:4:1" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "10116:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10116:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mask_bytes_dynamic", | |
"nativeSrc": "10091:18:1", | |
"nodeType": "YulIdentifier", | |
"src": "10091:18:1" | |
}, | |
"nativeSrc": "10091:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10091:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nativeSrc": "10083:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10083:4:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10129:29:1", | |
"nodeType": "YulAssignment", | |
"src": "10129:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nativeSrc": "10140:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10140:4:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "10150:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10150:1:1", | |
"type": "", | |
"value": "2" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "10153:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10153:3:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nativeSrc": "10146:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10146:3:1" | |
}, | |
"nativeSrc": "10146:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10146:11:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nativeSrc": "10137:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10137:2:1" | |
}, | |
"nativeSrc": "10137:21:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10137:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "used", | |
"nativeSrc": "10129:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10129:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "extract_used_part_and_set_length_of_short_byte_array", | |
"nativeSrc": "9869:295:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nativeSrc": "9931:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9931:4:1", | |
"type": "" | |
}, | |
{ | |
"name": "len", | |
"nativeSrc": "9937:3:1", | |
"nodeType": "YulTypedName", | |
"src": "9937:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "used", | |
"nativeSrc": "9945:4:1", | |
"nodeType": "YulTypedName", | |
"src": "9945:4:1", | |
"type": "" | |
} | |
], | |
"src": "9869:295:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "10261:1303:1", | |
"nodeType": "YulBlock", | |
"src": "10261:1303:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10272:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10272:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "10319:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10319:3:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "10286:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "10286:32:1" | |
}, | |
"nativeSrc": "10286:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10286:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10276:6:1", | |
"nodeType": "YulTypedName", | |
"src": "10276:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "10408:22:1", | |
"nodeType": "YulBlock", | |
"src": "10408:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nativeSrc": "10410:16:1", | |
"nodeType": "YulIdentifier", | |
"src": "10410:16:1" | |
}, | |
"nativeSrc": "10410:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10410:18:1" | |
}, | |
"nativeSrc": "10410:18:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "10410:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10380:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10380:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "10388:18:1", | |
"nodeType": "YulLiteral", | |
"src": "10388:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nativeSrc": "10377:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10377:2:1" | |
}, | |
"nativeSrc": "10377:30:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10377:30:1" | |
}, | |
"nativeSrc": "10374:56:1", | |
"nodeType": "YulIf", | |
"src": "10374:56:1" | |
}, | |
{ | |
"nativeSrc": "10440:52:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10440:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10486:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10486:4:1" | |
} | |
], | |
"functionName": { | |
"name": "sload", | |
"nativeSrc": "10480:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "10480:5:1" | |
}, | |
"nativeSrc": "10480:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10480:11:1" | |
} | |
], | |
"functionName": { | |
"name": "extract_byte_array_length", | |
"nativeSrc": "10454:25:1", | |
"nodeType": "YulIdentifier", | |
"src": "10454:25:1" | |
}, | |
"nativeSrc": "10454:38:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10454:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "oldLen", | |
"nativeSrc": "10444:6:1", | |
"nodeType": "YulTypedName", | |
"src": "10444:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10585:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10585:4:1" | |
}, | |
{ | |
"name": "oldLen", | |
"nativeSrc": "10591:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10591:6:1" | |
}, | |
{ | |
"name": "newLen", | |
"nativeSrc": "10599:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10599:6:1" | |
} | |
], | |
"functionName": { | |
"name": "clean_up_bytearray_end_slots_t_string_storage", | |
"nativeSrc": "10539:45:1", | |
"nodeType": "YulIdentifier", | |
"src": "10539:45:1" | |
}, | |
"nativeSrc": "10539:67:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10539:67:1" | |
}, | |
"nativeSrc": "10539:67:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "10539:67:1" | |
}, | |
{ | |
"nativeSrc": "10616:18:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10616:18:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10633:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10633:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "10620:9:1", | |
"nodeType": "YulTypedName", | |
"src": "10620:9:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10644:17:1", | |
"nodeType": "YulAssignment", | |
"src": "10644:17:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10657:4:1", | |
"nodeType": "YulLiteral", | |
"src": "10657:4:1", | |
"type": "", | |
"value": "0x20" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "10644:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "10644:9:1" | |
} | |
] | |
}, | |
{ | |
"cases": [ | |
{ | |
"body": { | |
"nativeSrc": "10708:611:1", | |
"nodeType": "YulBlock", | |
"src": "10708:611:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10722:37:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10722:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "newLen", | |
"nativeSrc": "10741:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10741:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "10753:4:1", | |
"nodeType": "YulLiteral", | |
"src": "10753:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "10749:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10749:3:1" | |
}, | |
"nativeSrc": "10749:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10749:9:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "10737:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10737:3:1" | |
}, | |
"nativeSrc": "10737:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10737:22:1" | |
}, | |
"variables": [ | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "10726:7:1", | |
"nodeType": "YulTypedName", | |
"src": "10726:7:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10773:51:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10773:51:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "slot", | |
"nativeSrc": "10819:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "10819:4:1" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_string_storage", | |
"nativeSrc": "10787:31:1", | |
"nodeType": "YulIdentifier", | |
"src": "10787:31:1" | |
}, | |
"nativeSrc": "10787:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10787:37:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10777:6:1", | |
"nodeType": "YulTypedName", | |
"src": "10777:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "10837:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "10837:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "10846:1:1", | |
"nodeType": "YulLiteral", | |
"src": "10846:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10841:1:1", | |
"nodeType": "YulTypedName", | |
"src": "10841:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "10905:163:1", | |
"nodeType": "YulBlock", | |
"src": "10905:163:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10930:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10930:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "10948:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10948:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "10953:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "10953:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "10944:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10944:3:1" | |
}, | |
"nativeSrc": "10944:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10944:19:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "10938:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "10938:5:1" | |
}, | |
"nativeSrc": "10938:26:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10938:26:1" | |
} | |
], | |
"functionName": { | |
"name": "sstore", | |
"nativeSrc": "10923:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10923:6:1" | |
}, | |
"nativeSrc": "10923:42:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10923:42:1" | |
}, | |
"nativeSrc": "10923:42:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "10923:42:1" | |
}, | |
{ | |
"nativeSrc": "10982:24:1", | |
"nodeType": "YulAssignment", | |
"src": "10982:24:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10996:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10996:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11004:1:1", | |
"nodeType": "YulLiteral", | |
"src": "11004:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "10992:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10992:3:1" | |
}, | |
"nativeSrc": "10992:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10992:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dstPtr", | |
"nativeSrc": "10982:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "10982:6:1" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "11023:31:1", | |
"nodeType": "YulAssignment", | |
"src": "11023:31:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11040:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11040:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "11051:2:1", | |
"nodeType": "YulLiteral", | |
"src": "11051:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "11036:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11036:3:1" | |
}, | |
"nativeSrc": "11036:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "11036:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11023:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11023:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10871:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "10871:1:1" | |
}, | |
{ | |
"name": "loopEnd", | |
"nativeSrc": "10874:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "10874:7:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "10868:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "10868:2:1" | |
}, | |
"nativeSrc": "10868:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10868:14:1" | |
}, | |
"nativeSrc": "10860:208:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "10883:21:1", | |
"nodeType": "YulBlock", | |
"src": "10883:21:1", | |
"statements": [ | |
{ | |
"nativeSrc": "10885:17:1", | |
"nodeType": "YulAssignment", | |
"src": "10885:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10894:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "10894:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "10897:4:1", | |
"nodeType": "YulLiteral", | |
"src": "10897:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "10890:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "10890:3:1" | |
}, | |
"nativeSrc": "10890:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "10890:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "10885:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "10885:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "10864:3:1", | |
"nodeType": "YulBlock", | |
"src": "10864:3:1", | |
"statements": [] | |
}, | |
"src": "10860:208:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "11104:156:1", | |
"nodeType": "YulBlock", | |
"src": "11104:156:1", | |
"statements": [ | |
{ | |
"nativeSrc": "11122:43:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "11122:43:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "11149:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11149:3:1" | |
}, | |
{ | |
"name": "srcOffset", | |
"nativeSrc": "11154:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "11154:9:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "11145:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "11145:3:1" | |
}, | |
"nativeSrc": "11145:19:1", | |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment