Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save Dustinturner44/dd67249f2b72ec414aceb2c95205bcd8 to your computer and use it in GitHub Desktop.

Select an option

Save Dustinturner44/dd67249f2b72ec414aceb2c95205bcd8 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=builtin&optimize=undefined&runs=200&gist=
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
return address(0);
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library Assert {
event AssertionEvent(
bool passed,
string message,
string methodName
);
event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);
event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);
event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);
event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);
event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);
event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message, "ok");
}
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}
function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}
function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}
/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
{
"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": {}
}
]
}
{
"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": {}
}
]
}

Remix IDE Blank Template

Welcome to your new Remix IDE Blank Workspace!

This workspace has been generated using the "Blank Template" option in Remix IDE. It starts with only minimal configuration files, giving you full control to build your project from scratch.


What's Included?

  • remix.config.json: Default Remix IDE workspace configuration.
  • .prettierrc.json: Basic Prettier formatting rules for code consistency.

No contract files, folders, or sample code are included.


Getting Started

  1. Create Files & Folders

    • Add new Solidity files, scripts, or folders as needed for your project.
    • You can organize your workspace structure in any way you like.
  2. Setup Project Settings (Optional)

    • Modify remix.config.json or add additional configuration files as your project grows.
  3. Write & Compile Smart Contracts

    • Use the Solidity Compiler and Deploy & Run Transactions plugins (available in Remix IDE's left sidebar) to develop and test your contracts.
  4. (Optional) Initialize Git

    • If you checked "Initialize as a Git repository" during workspace creation, you can start committing your code immediately.

Useful Resources


Happy coding! 🚀

Remix IDE Team

Remix IDE Blank Template

Welcome to your new Remix IDE Blank Workspace!

This workspace has been generated using the "Blank Template" option in Remix IDE. It starts with only minimal configuration files, giving you full control to build your project from scratch.


What's Included?

  • remix.config.json: Default Remix IDE workspace configuration.
  • .prettierrc.json: Basic Prettier formatting rules for code consistency.

No contract files, folders, or sample code are included.


Getting Started

  1. Create Files & Folders

    • Add new Solidity files, scripts, or folders as needed for your project.
    • You can organize your workspace structure in any way you like.
  2. Setup Project Settings (Optional)

    • Modify remix.config.json or add additional configuration files as your project grows.
  3. Write & Compile Smart Contracts

    • Use the Solidity Compiler and Deploy & Run Transactions plugins (available in Remix IDE's left sidebar) to develop and test your contracts.
  4. (Optional) Initialize Git

    • If you checked "Initialize as a Git repository" during workspace creation, you can start committing your code immediately.

Useful Resources


Happy coding! 🚀

Remix IDE Team

{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 375,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 227,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 663,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 501,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 629,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 519,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 800,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 393,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 327,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 773,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 510,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 745,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 282,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 237,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 552,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 408,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 733,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 605,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 420,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 561,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 598,
"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": "60806040526040518060400160405280601381526020017f6d792070726976617465207661726961626c65000000000000000000000000008152505f90816100479190610320565b506040518060400160405280601481526020017f6d7920696e7465726e616c207661726961626c650000000000000000000000008152506001908161008c9190610320565b506040518060400160405280601281526020017f6d79207075626c6963207661726961626c650000000000000000000000000000815250600290816100d19190610320565b503480156100dd575f5ffd5b506103ef565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061015e57607f821691505b6020821081036101715761017061011a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610198565b6101dd8683610198565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61022161021c610217846101f5565b6101fe565b6101f5565b9050919050565b5f819050919050565b61023a83610207565b61024e61024682610228565b8484546101a4565b825550505050565b5f5f905090565b610265610256565b610270818484610231565b505050565b5b81811015610293576102885f8261025d565b600181019050610276565b5050565b601f8211156102d8576102a981610177565b6102b284610189565b810160208510156102c1578190505b6102d56102cd85610189565b830182610275565b50505b505050565b5f82821c905092915050565b5f6102f85f19846008026102dd565b1980831691505092915050565b5f61031083836102e9565b9150826002028217905092915050565b610329826100e3565b67ffffffffffffffff811115610342576103416100ed565b5b61034c8254610147565b610357828285610297565b5f60209050601f831160018114610388575f8415610376578287015190505b6103808582610305565b8655506103e7565b601f19841661039686610177565b5f5b828110156103bd57848901518255600182019150602085019450602081019050610398565b868310156103da57848901516103d6601f8916826102e9565b8355505b6001600288020188555050505b505050505050565b6103b0806103fc5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630eb13f87146100595780631151fad81461007757806342b148aa146100955780634b73383f146100b3578063e8e46c41146100d1575b5f5ffd5b6100616100ef565b60405161006e91906102fd565b60405180910390f35b61007f6100fe565b60405161008c91906102fd565b60405180910390f35b61009d61018a565b6040516100aa91906102fd565b60405180910390f35b6100bb6101c7565b6040516100c891906102fd565b60405180910390f35b6100d9610204565b6040516100e691906102fd565b60405180910390f35b60606100f9610213565b905090565b6002805461010b9061034a565b80601f01602080910402602001604051908101604052809291908181526020018280546101379061034a565b80156101825780601f1061015957610100808354040283529160200191610182565b820191905f5260205f20905b81548152906001019060200180831161016557829003601f168201915b505050505081565b60606040518060400160405280601881526020017f65787465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b60606040518060400160405280601681526020017f7075626c69632066756e6374696f6e2063616c6c656400000000000000000000815250905090565b606061020e610250565b905090565b60606040518060400160405280601781526020017f707269766174652066756e6374696f6e2063616c6c6564000000000000000000815250905090565b60606040518060400160405280601881526020017f696e7465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102cf8261028d565b6102d98185610297565b93506102e98185602086016102a7565b6102f2816102b5565b840191505092915050565b5f6020820190508181035f83015261031581846102c5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061036157607f821691505b6020821081036103745761037361031d565b5b5091905056fea26469706673582212207c5b9149432480889754497fed7047153fa7b461464f59ff2ff76ab5a256b69064736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x13 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D792070726976617465207661726961626C6500000000000000000000000000 DUP2 MSTORE POP PUSH0 SWAP1 DUP2 PUSH2 0x47 SWAP2 SWAP1 PUSH2 0x320 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D7920696E7465726E616C207661726961626C65000000000000000000000000 DUP2 MSTORE POP PUSH1 0x1 SWAP1 DUP2 PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x320 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D79207075626C6963207661726961626C650000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP2 PUSH2 0xD1 SWAP2 SWAP1 PUSH2 0x320 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0xDD JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x3EF 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 PUSH2 0x15E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x171 JUMPI PUSH2 0x170 PUSH2 0x11A 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 0x1D3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x198 JUMP JUMPDEST PUSH2 0x1DD DUP7 DUP4 PUSH2 0x198 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x221 PUSH2 0x21C PUSH2 0x217 DUP5 PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x1FE JUMP JUMPDEST PUSH2 0x1F5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23A DUP4 PUSH2 0x207 JUMP JUMPDEST PUSH2 0x24E PUSH2 0x246 DUP3 PUSH2 0x228 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1A4 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x256 JUMP JUMPDEST PUSH2 0x270 DUP2 DUP5 DUP5 PUSH2 0x231 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x293 JUMPI PUSH2 0x288 PUSH0 DUP3 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x276 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x2D8 JUMPI PUSH2 0x2A9 DUP2 PUSH2 0x177 JUMP JUMPDEST PUSH2 0x2B2 DUP5 PUSH2 0x189 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x2C1 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x2D5 PUSH2 0x2CD DUP6 PUSH2 0x189 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x275 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x2F8 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x2DD JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x310 DUP4 DUP4 PUSH2 0x2E9 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x329 DUP3 PUSH2 0xE3 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x342 JUMPI PUSH2 0x341 PUSH2 0xED JUMP JUMPDEST JUMPDEST PUSH2 0x34C DUP3 SLOAD PUSH2 0x147 JUMP JUMPDEST PUSH2 0x357 DUP3 DUP3 DUP6 PUSH2 0x297 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x388 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x376 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x380 DUP6 DUP3 PUSH2 0x305 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x3E7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x396 DUP7 PUSH2 0x177 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3BD 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 0x398 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x3DA JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x3D6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x2E9 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 0x3B0 DUP1 PUSH2 0x3FC PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xEB13F87 EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x1151FAD8 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x42B148AA EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x4B73383F EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xE8E46C41 EQ PUSH2 0xD1 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x61 PUSH2 0xEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9D PUSH2 0x18A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBB PUSH2 0x1C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH2 0x204 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE6 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0xF9 PUSH2 0x213 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x10B SWAP1 PUSH2 0x34A 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 0x137 SWAP1 PUSH2 0x34A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x182 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x159 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x182 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 0x165 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x65787465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7075626C69632066756E6374696F6E2063616C6C656400000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x20E PUSH2 0x250 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x707269766174652066756E6374696F6E2063616C6C6564000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x696E7465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 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 DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x2CF DUP3 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x2D9 DUP2 DUP6 PUSH2 0x297 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E9 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0x2F2 DUP2 PUSH2 0x2B5 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x315 DUP2 DUP5 PUSH2 0x2C5 JUMP JUMPDEST SWAP1 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 0x361 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x374 JUMPI PUSH2 0x373 PUSH2 0x31D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x5B9149432480889754497FED7047153FA7B461464F59FF2FF76AB5A256 0xB6 SWAP1 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "57:1751:0:-:0;;;1515:49;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1570:52;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1628:46;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;57:1751;;;;;;;;;;;;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;2287:1;2280:8;;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;57:1751:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@externalFunc_51": {
"entryPoint": 394,
"id": 51,
"parameterSlots": 0,
"returnSlots": 1
},
"@internalFunc_26": {
"entryPoint": 592,
"id": 26,
"parameterSlots": 0,
"returnSlots": 1
},
"@privateFunc_9": {
"entryPoint": 531,
"id": 9,
"parameterSlots": 0,
"returnSlots": 1
},
"@publicFunc_43": {
"entryPoint": 455,
"id": 43,
"parameterSlots": 0,
"returnSlots": 1
},
"@publicVar_60": {
"entryPoint": 254,
"id": 60,
"parameterSlots": 0,
"returnSlots": 0
},
"@testInternalFunc_35": {
"entryPoint": 516,
"id": 35,
"parameterSlots": 0,
"returnSlots": 1
},
"@testPrivateFunc_18": {
"entryPoint": 239,
"id": 18,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 709,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 765,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 653,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 663,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 679,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 842,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 797,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 693,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1751:1",
"nodeType": "YulBlock",
"src": "0:1751:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "208:73:1",
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:1",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nativeSrc": "230:6:1",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:1",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nativeSrc": "246:29:1",
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:1",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nativeSrc": "270:4:1",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:1",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nativeSrc": "261:14:1",
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:1",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:1",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:1",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:1",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nativeSrc": "349:77:1",
"nodeType": "YulBlock",
"src": "349:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "366:3:1",
"nodeType": "YulIdentifier",
"src": "366:3:1"
},
{
"name": "src",
"nativeSrc": "371:3:1",
"nodeType": "YulIdentifier",
"src": "371:3:1"
},
{
"name": "length",
"nativeSrc": "376:6:1",
"nodeType": "YulIdentifier",
"src": "376:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "360:5:1",
"nodeType": "YulIdentifier",
"src": "360:5:1"
},
"nativeSrc": "360:23:1",
"nodeType": "YulFunctionCall",
"src": "360:23:1"
},
"nativeSrc": "360:23:1",
"nodeType": "YulExpressionStatement",
"src": "360:23:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "403:3:1",
"nodeType": "YulIdentifier",
"src": "403:3:1"
},
{
"name": "length",
"nativeSrc": "408:6:1",
"nodeType": "YulIdentifier",
"src": "408:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "399:3:1",
"nodeType": "YulIdentifier",
"src": "399:3:1"
},
"nativeSrc": "399:16:1",
"nodeType": "YulFunctionCall",
"src": "399:16:1"
},
{
"kind": "number",
"nativeSrc": "417:1:1",
"nodeType": "YulLiteral",
"src": "417:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "392:6:1",
"nodeType": "YulIdentifier",
"src": "392:6:1"
},
"nativeSrc": "392:27:1",
"nodeType": "YulFunctionCall",
"src": "392:27:1"
},
"nativeSrc": "392:27:1",
"nodeType": "YulExpressionStatement",
"src": "392:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:1",
"nodeType": "YulTypedName",
"src": "331:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:1",
"nodeType": "YulTypedName",
"src": "336:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:1",
"nodeType": "YulTypedName",
"src": "341:6:1",
"type": ""
}
],
"src": "287:139:1"
},
{
"body": {
"nativeSrc": "480:54:1",
"nodeType": "YulBlock",
"src": "480:54:1",
"statements": [
{
"nativeSrc": "490:38:1",
"nodeType": "YulAssignment",
"src": "490:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
},
{
"kind": "number",
"nativeSrc": "515:2:1",
"nodeType": "YulLiteral",
"src": "515:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "504:3:1",
"nodeType": "YulIdentifier",
"src": "504:3:1"
},
"nativeSrc": "504:14:1",
"nodeType": "YulFunctionCall",
"src": "504:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "524:2:1",
"nodeType": "YulLiteral",
"src": "524:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "520:3:1",
"nodeType": "YulIdentifier",
"src": "520:3:1"
},
"nativeSrc": "520:7:1",
"nodeType": "YulFunctionCall",
"src": "520:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "500:3:1",
"nodeType": "YulIdentifier",
"src": "500:3:1"
},
"nativeSrc": "500:28:1",
"nodeType": "YulFunctionCall",
"src": "500:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "490:6:1",
"nodeType": "YulIdentifier",
"src": "490:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "432:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "463:5:1",
"nodeType": "YulTypedName",
"src": "463:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "473:6:1",
"nodeType": "YulTypedName",
"src": "473:6:1",
"type": ""
}
],
"src": "432:102:1"
},
{
"body": {
"nativeSrc": "632:285:1",
"nodeType": "YulBlock",
"src": "632:285:1",
"statements": [
{
"nativeSrc": "642:53:1",
"nodeType": "YulVariableDeclaration",
"src": "642:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "689:5:1",
"nodeType": "YulIdentifier",
"src": "689:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "656:32:1",
"nodeType": "YulIdentifier",
"src": "656:32:1"
},
"nativeSrc": "656:39:1",
"nodeType": "YulFunctionCall",
"src": "656:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "646:6:1",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nativeSrc": "704:78:1",
"nodeType": "YulAssignment",
"src": "704:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "770:3:1",
"nodeType": "YulIdentifier",
"src": "770:3:1"
},
{
"name": "length",
"nativeSrc": "775:6:1",
"nodeType": "YulIdentifier",
"src": "775:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "711:58:1",
"nodeType": "YulIdentifier",
"src": "711:58:1"
},
"nativeSrc": "711:71:1",
"nodeType": "YulFunctionCall",
"src": "711:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "704:3:1",
"nodeType": "YulIdentifier",
"src": "704:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "830:5:1",
"nodeType": "YulIdentifier",
"src": "830:5:1"
},
{
"kind": "number",
"nativeSrc": "837:4:1",
"nodeType": "YulLiteral",
"src": "837:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "826:3:1",
"nodeType": "YulIdentifier",
"src": "826:3:1"
},
"nativeSrc": "826:16:1",
"nodeType": "YulFunctionCall",
"src": "826:16:1"
},
{
"name": "pos",
"nativeSrc": "844:3:1",
"nodeType": "YulIdentifier",
"src": "844:3:1"
},
{
"name": "length",
"nativeSrc": "849:6:1",
"nodeType": "YulIdentifier",
"src": "849:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "791:34:1",
"nodeType": "YulIdentifier",
"src": "791:34:1"
},
"nativeSrc": "791:65:1",
"nodeType": "YulFunctionCall",
"src": "791:65:1"
},
"nativeSrc": "791:65:1",
"nodeType": "YulExpressionStatement",
"src": "791:65:1"
},
{
"nativeSrc": "865:46:1",
"nodeType": "YulAssignment",
"src": "865:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "876:3:1",
"nodeType": "YulIdentifier",
"src": "876:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "903:6:1",
"nodeType": "YulIdentifier",
"src": "903:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "881:21:1",
"nodeType": "YulIdentifier",
"src": "881:21:1"
},
"nativeSrc": "881:29:1",
"nodeType": "YulFunctionCall",
"src": "881:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "872:3:1",
"nodeType": "YulIdentifier",
"src": "872:3:1"
},
"nativeSrc": "872:39:1",
"nodeType": "YulFunctionCall",
"src": "872:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "865:3:1",
"nodeType": "YulIdentifier",
"src": "865:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "540:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "613:5:1",
"nodeType": "YulTypedName",
"src": "613:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "620:3:1",
"nodeType": "YulTypedName",
"src": "620:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "628:3:1",
"nodeType": "YulTypedName",
"src": "628:3:1",
"type": ""
}
],
"src": "540:377:1"
},
{
"body": {
"nativeSrc": "1041:195:1",
"nodeType": "YulBlock",
"src": "1041:195:1",
"statements": [
{
"nativeSrc": "1051:26:1",
"nodeType": "YulAssignment",
"src": "1051:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1063:9:1",
"nodeType": "YulIdentifier",
"src": "1063:9:1"
},
{
"kind": "number",
"nativeSrc": "1074:2:1",
"nodeType": "YulLiteral",
"src": "1074:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1059:3:1",
"nodeType": "YulIdentifier",
"src": "1059:3:1"
},
"nativeSrc": "1059:18:1",
"nodeType": "YulFunctionCall",
"src": "1059:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1051:4:1",
"nodeType": "YulIdentifier",
"src": "1051:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1098:9:1",
"nodeType": "YulIdentifier",
"src": "1098:9:1"
},
{
"kind": "number",
"nativeSrc": "1109:1:1",
"nodeType": "YulLiteral",
"src": "1109:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1094:3:1",
"nodeType": "YulIdentifier",
"src": "1094:3:1"
},
"nativeSrc": "1094:17:1",
"nodeType": "YulFunctionCall",
"src": "1094:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1117:4:1",
"nodeType": "YulIdentifier",
"src": "1117:4:1"
},
{
"name": "headStart",
"nativeSrc": "1123:9:1",
"nodeType": "YulIdentifier",
"src": "1123:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1113:3:1",
"nodeType": "YulIdentifier",
"src": "1113:3:1"
},
"nativeSrc": "1113:20:1",
"nodeType": "YulFunctionCall",
"src": "1113:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1087:6:1",
"nodeType": "YulIdentifier",
"src": "1087:6:1"
},
"nativeSrc": "1087:47:1",
"nodeType": "YulFunctionCall",
"src": "1087:47:1"
},
"nativeSrc": "1087:47:1",
"nodeType": "YulExpressionStatement",
"src": "1087:47:1"
},
{
"nativeSrc": "1143:86:1",
"nodeType": "YulAssignment",
"src": "1143:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1215:6:1",
"nodeType": "YulIdentifier",
"src": "1215:6:1"
},
{
"name": "tail",
"nativeSrc": "1224:4:1",
"nodeType": "YulIdentifier",
"src": "1224:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1151:63:1",
"nodeType": "YulIdentifier",
"src": "1151:63:1"
},
"nativeSrc": "1151:78:1",
"nodeType": "YulFunctionCall",
"src": "1151:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1143:4:1",
"nodeType": "YulIdentifier",
"src": "1143:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "923:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1013:9:1",
"nodeType": "YulTypedName",
"src": "1013:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1025:6:1",
"nodeType": "YulTypedName",
"src": "1025:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1036:4:1",
"nodeType": "YulTypedName",
"src": "1036:4:1",
"type": ""
}
],
"src": "923:313:1"
},
{
"body": {
"nativeSrc": "1270:152:1",
"nodeType": "YulBlock",
"src": "1270:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1287:1:1",
"nodeType": "YulLiteral",
"src": "1287:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1290:77:1",
"nodeType": "YulLiteral",
"src": "1290:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1280:6:1",
"nodeType": "YulIdentifier",
"src": "1280:6:1"
},
"nativeSrc": "1280:88:1",
"nodeType": "YulFunctionCall",
"src": "1280:88:1"
},
"nativeSrc": "1280:88:1",
"nodeType": "YulExpressionStatement",
"src": "1280:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1384:1:1",
"nodeType": "YulLiteral",
"src": "1384:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1387:4:1",
"nodeType": "YulLiteral",
"src": "1387:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1377:6:1",
"nodeType": "YulIdentifier",
"src": "1377:6:1"
},
"nativeSrc": "1377:15:1",
"nodeType": "YulFunctionCall",
"src": "1377:15:1"
},
"nativeSrc": "1377:15:1",
"nodeType": "YulExpressionStatement",
"src": "1377:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1408:1:1",
"nodeType": "YulLiteral",
"src": "1408:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1411:4:1",
"nodeType": "YulLiteral",
"src": "1411:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1401:6:1",
"nodeType": "YulIdentifier",
"src": "1401:6:1"
},
"nativeSrc": "1401:15:1",
"nodeType": "YulFunctionCall",
"src": "1401:15:1"
},
"nativeSrc": "1401:15:1",
"nodeType": "YulExpressionStatement",
"src": "1401:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "1242:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1242:180:1"
},
{
"body": {
"nativeSrc": "1479:269:1",
"nodeType": "YulBlock",
"src": "1479:269:1",
"statements": [
{
"nativeSrc": "1489:22:1",
"nodeType": "YulAssignment",
"src": "1489:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1503:4:1",
"nodeType": "YulIdentifier",
"src": "1503:4:1"
},
{
"kind": "number",
"nativeSrc": "1509:1:1",
"nodeType": "YulLiteral",
"src": "1509:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1499:3:1",
"nodeType": "YulIdentifier",
"src": "1499:3:1"
},
"nativeSrc": "1499:12:1",
"nodeType": "YulFunctionCall",
"src": "1499:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1489:6:1",
"nodeType": "YulIdentifier",
"src": "1489:6:1"
}
]
},
{
"nativeSrc": "1520:38:1",
"nodeType": "YulVariableDeclaration",
"src": "1520:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1550:4:1",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
},
{
"kind": "number",
"nativeSrc": "1556:1:1",
"nodeType": "YulLiteral",
"src": "1556:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1546:3:1",
"nodeType": "YulIdentifier",
"src": "1546:3:1"
},
"nativeSrc": "1546:12:1",
"nodeType": "YulFunctionCall",
"src": "1546:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1524:18:1",
"nodeType": "YulTypedName",
"src": "1524:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1597:51:1",
"nodeType": "YulBlock",
"src": "1597:51:1",
"statements": [
{
"nativeSrc": "1611:27:1",
"nodeType": "YulAssignment",
"src": "1611:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "1625:6:1",
"nodeType": "YulIdentifier",
"src": "1625:6:1"
},
{
"kind": "number",
"nativeSrc": "1633:4:1",
"nodeType": "YulLiteral",
"src": "1633:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1621:3:1",
"nodeType": "YulIdentifier",
"src": "1621:3:1"
},
"nativeSrc": "1621:17:1",
"nodeType": "YulFunctionCall",
"src": "1621:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1611:6:1",
"nodeType": "YulIdentifier",
"src": "1611:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1577:18:1",
"nodeType": "YulIdentifier",
"src": "1577:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1570:6:1",
"nodeType": "YulIdentifier",
"src": "1570:6:1"
},
"nativeSrc": "1570:26:1",
"nodeType": "YulFunctionCall",
"src": "1570:26:1"
},
"nativeSrc": "1567:81:1",
"nodeType": "YulIf",
"src": "1567:81:1"
},
{
"body": {
"nativeSrc": "1700:42:1",
"nodeType": "YulBlock",
"src": "1700:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "1714:16:1",
"nodeType": "YulIdentifier",
"src": "1714:16:1"
},
"nativeSrc": "1714:18:1",
"nodeType": "YulFunctionCall",
"src": "1714:18:1"
},
"nativeSrc": "1714:18:1",
"nodeType": "YulExpressionStatement",
"src": "1714:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1664:18:1",
"nodeType": "YulIdentifier",
"src": "1664:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1687:6:1",
"nodeType": "YulIdentifier",
"src": "1687:6:1"
},
{
"kind": "number",
"nativeSrc": "1695:2:1",
"nodeType": "YulLiteral",
"src": "1695:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1684:2:1",
"nodeType": "YulIdentifier",
"src": "1684:2:1"
},
"nativeSrc": "1684:14:1",
"nodeType": "YulFunctionCall",
"src": "1684:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1661:2:1",
"nodeType": "YulIdentifier",
"src": "1661:2:1"
},
"nativeSrc": "1661:38:1",
"nodeType": "YulFunctionCall",
"src": "1661:38:1"
},
"nativeSrc": "1658:84:1",
"nodeType": "YulIf",
"src": "1658:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "1428:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "1463:4:1",
"nodeType": "YulTypedName",
"src": "1463:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "1472:6:1",
"nodeType": "YulTypedName",
"src": "1472:6:1",
"type": ""
}
],
"src": "1428:320:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630eb13f87146100595780631151fad81461007757806342b148aa146100955780634b73383f146100b3578063e8e46c41146100d1575b5f5ffd5b6100616100ef565b60405161006e91906102fd565b60405180910390f35b61007f6100fe565b60405161008c91906102fd565b60405180910390f35b61009d61018a565b6040516100aa91906102fd565b60405180910390f35b6100bb6101c7565b6040516100c891906102fd565b60405180910390f35b6100d9610204565b6040516100e691906102fd565b60405180910390f35b60606100f9610213565b905090565b6002805461010b9061034a565b80601f01602080910402602001604051908101604052809291908181526020018280546101379061034a565b80156101825780601f1061015957610100808354040283529160200191610182565b820191905f5260205f20905b81548152906001019060200180831161016557829003601f168201915b505050505081565b60606040518060400160405280601881526020017f65787465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b60606040518060400160405280601681526020017f7075626c69632066756e6374696f6e2063616c6c656400000000000000000000815250905090565b606061020e610250565b905090565b60606040518060400160405280601781526020017f707269766174652066756e6374696f6e2063616c6c6564000000000000000000815250905090565b60606040518060400160405280601881526020017f696e7465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102cf8261028d565b6102d98185610297565b93506102e98185602086016102a7565b6102f2816102b5565b840191505092915050565b5f6020820190508181035f83015261031581846102c5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061036157607f821691505b6020821081036103745761037361031d565b5b5091905056fea26469706673582212207c5b9149432480889754497fed7047153fa7b461464f59ff2ff76ab5a256b69064736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xEB13F87 EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x1151FAD8 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x42B148AA EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x4B73383F EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xE8E46C41 EQ PUSH2 0xD1 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x61 PUSH2 0xEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9D PUSH2 0x18A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBB PUSH2 0x1C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH2 0x204 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE6 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0xF9 PUSH2 0x213 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x10B SWAP1 PUSH2 0x34A 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 0x137 SWAP1 PUSH2 0x34A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x182 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x159 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x182 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 0x165 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x65787465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7075626C69632066756E6374696F6E2063616C6C656400000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x20E PUSH2 0x250 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x707269766174652066756E6374696F6E2063616C6C6564000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x696E7465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 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 DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x2CF DUP3 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x2D9 DUP2 DUP6 PUSH2 0x297 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E9 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0x2F2 DUP2 PUSH2 0x2B5 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x315 DUP2 DUP5 PUSH2 0x2C5 JUMP JUMPDEST SWAP1 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 0x361 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x374 JUMPI PUSH2 0x373 PUSH2 0x31D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x5B9149432480889754497FED7047153FA7B461464F59FF2FF76AB5A256 0xB6 SWAP1 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "57:1751:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1628:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1158:112;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;960:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;682:110;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;336:100;384:13;416;:11;:13::i;:::-;409:20;;336:100;:::o;1628:46::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1158:112::-;1205:13;1230:33;;;;;;;;;;;;;;;;;;;1158:112;:::o;960:106::-;1003:13;1028:31;;;;;;;;;;;;;;;;;;;960:106;:::o;682:110::-;739:13;771:14;:12;:14::i;:::-;764:21;;682:110;:::o;221:109::-;266:13;291:32;;;;;;;;;;;;;;;;;;;221:109;:::o;564:112::-;611:13;636:33;;;;;;;;;;;;;;;;;;;564:112;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:180::-;1290:77;1287:1;1280:88;1387:4;1384:1;1377:15;1411:4;1408:1;1401:15;1428:320;1472:6;1509:1;1503:4;1499:12;1489:22;;1556:1;1550:4;1546:12;1577:18;1567:81;;1633:4;1625:6;1621:17;1611:27;;1567:81;1695:2;1687:6;1684:14;1664:18;1661:38;1658:84;;1714:18;;:::i;:::-;1658:84;1479:269;1428:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "188800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"externalFunc()": "infinite",
"publicFunc()": "infinite",
"publicVar()": "infinite",
"testInternalFunc()": "infinite",
"testPrivateFunc()": "infinite"
},
"internal": {
"internalFunc()": "infinite",
"privateFunc()": "infinite"
}
},
"methodIdentifiers": {
"externalFunc()": "42b148aa",
"publicFunc()": "4b73383f",
"publicVar()": "1151fad8",
"testInternalFunc()": "e8e46c41",
"testPrivateFunc()": "0eb13f87"
}
},
"abi": [
{
"inputs": [],
"name": "externalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicVar",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "testInternalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "testPrivateFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "externalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicVar",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "testInternalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "testPrivateFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/6. Visibility/visibility.sol": "Base"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/6. Visibility/visibility.sol": {
"keccak256": "0x2668ee78715963245f00883ea836b09e3e565952a928e0df8e27c8c0876002fc",
"license": "MIT",
"urls": [
"bzz-raw://ada75cad5ea75f62fea9cb6f873edd875f4be9f7be3a24eca5f6185c82dd6b12",
"dweb:/ipfs/QmUmTgSyqZbbDUW8x2vA4rFyKCx16oG1qdrKs57kpsfXY8"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 375,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 227,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 663,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 501,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 629,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 519,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 800,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 393,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 327,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 773,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 510,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 745,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 282,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 237,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 552,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 408,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 733,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 605,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 420,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 561,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 598,
"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": "60806040526040518060400160405280601381526020017f6d792070726976617465207661726961626c65000000000000000000000000008152505f90816100479190610320565b506040518060400160405280601481526020017f6d7920696e7465726e616c207661726961626c650000000000000000000000008152506001908161008c9190610320565b506040518060400160405280601281526020017f6d79207075626c6963207661726961626c650000000000000000000000000000815250600290816100d19190610320565b503480156100dd575f5ffd5b506103ef565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061015e57607f821691505b6020821081036101715761017061011a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610198565b6101dd8683610198565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61022161021c610217846101f5565b6101fe565b6101f5565b9050919050565b5f819050919050565b61023a83610207565b61024e61024682610228565b8484546101a4565b825550505050565b5f5f905090565b610265610256565b610270818484610231565b505050565b5b81811015610293576102885f8261025d565b600181019050610276565b5050565b601f8211156102d8576102a981610177565b6102b284610189565b810160208510156102c1578190505b6102d56102cd85610189565b830182610275565b50505b505050565b5f82821c905092915050565b5f6102f85f19846008026102dd565b1980831691505092915050565b5f61031083836102e9565b9150826002028217905092915050565b610329826100e3565b67ffffffffffffffff811115610342576103416100ed565b5b61034c8254610147565b610357828285610297565b5f60209050601f831160018114610388575f8415610376578287015190505b6103808582610305565b8655506103e7565b601f19841661039686610177565b5f5b828110156103bd57848901518255600182019150602085019450602081019050610398565b868310156103da57848901516103d6601f8916826102e9565b8355505b6001600288020188555050505b505050505050565b6103b0806103fc5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630eb13f87146100595780631151fad81461007757806342b148aa146100955780634b73383f146100b3578063e8e46c41146100d1575b5f5ffd5b6100616100ef565b60405161006e91906102fd565b60405180910390f35b61007f6100fe565b60405161008c91906102fd565b60405180910390f35b61009d61018a565b6040516100aa91906102fd565b60405180910390f35b6100bb6101c7565b6040516100c891906102fd565b60405180910390f35b6100d9610204565b6040516100e691906102fd565b60405180910390f35b60606100f9610213565b905090565b6002805461010b9061034a565b80601f01602080910402602001604051908101604052809291908181526020018280546101379061034a565b80156101825780601f1061015957610100808354040283529160200191610182565b820191905f5260205f20905b81548152906001019060200180831161016557829003601f168201915b505050505081565b60606040518060400160405280601881526020017f65787465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b60606040518060400160405280601681526020017f7075626c69632066756e6374696f6e2063616c6c656400000000000000000000815250905090565b606061020e610250565b905090565b60606040518060400160405280601781526020017f707269766174652066756e6374696f6e2063616c6c6564000000000000000000815250905090565b60606040518060400160405280601881526020017f696e7465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102cf8261028d565b6102d98185610297565b93506102e98185602086016102a7565b6102f2816102b5565b840191505092915050565b5f6020820190508181035f83015261031581846102c5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061036157607f821691505b6020821081036103745761037361031d565b5b5091905056fea26469706673582212203a7a62c9a7b4d5b0d976446b35f61dd59f6c4d7317e684d2a73794e8ed0c238c64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x13 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D792070726976617465207661726961626C6500000000000000000000000000 DUP2 MSTORE POP PUSH0 SWAP1 DUP2 PUSH2 0x47 SWAP2 SWAP1 PUSH2 0x320 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D7920696E7465726E616C207661726961626C65000000000000000000000000 DUP2 MSTORE POP PUSH1 0x1 SWAP1 DUP2 PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x320 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6D79207075626C6963207661726961626C650000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP2 PUSH2 0xD1 SWAP2 SWAP1 PUSH2 0x320 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0xDD JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x3EF 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 PUSH2 0x15E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x171 JUMPI PUSH2 0x170 PUSH2 0x11A 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 0x1D3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x198 JUMP JUMPDEST PUSH2 0x1DD DUP7 DUP4 PUSH2 0x198 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x221 PUSH2 0x21C PUSH2 0x217 DUP5 PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x1FE JUMP JUMPDEST PUSH2 0x1F5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23A DUP4 PUSH2 0x207 JUMP JUMPDEST PUSH2 0x24E PUSH2 0x246 DUP3 PUSH2 0x228 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1A4 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x256 JUMP JUMPDEST PUSH2 0x270 DUP2 DUP5 DUP5 PUSH2 0x231 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x293 JUMPI PUSH2 0x288 PUSH0 DUP3 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x276 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x2D8 JUMPI PUSH2 0x2A9 DUP2 PUSH2 0x177 JUMP JUMPDEST PUSH2 0x2B2 DUP5 PUSH2 0x189 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x2C1 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x2D5 PUSH2 0x2CD DUP6 PUSH2 0x189 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x275 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x2F8 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x2DD JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x310 DUP4 DUP4 PUSH2 0x2E9 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x329 DUP3 PUSH2 0xE3 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x342 JUMPI PUSH2 0x341 PUSH2 0xED JUMP JUMPDEST JUMPDEST PUSH2 0x34C DUP3 SLOAD PUSH2 0x147 JUMP JUMPDEST PUSH2 0x357 DUP3 DUP3 DUP6 PUSH2 0x297 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x388 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x376 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x380 DUP6 DUP3 PUSH2 0x305 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x3E7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x396 DUP7 PUSH2 0x177 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3BD 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 0x398 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x3DA JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x3D6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x2E9 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 0x3B0 DUP1 PUSH2 0x3FC PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xEB13F87 EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x1151FAD8 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x42B148AA EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x4B73383F EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xE8E46C41 EQ PUSH2 0xD1 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x61 PUSH2 0xEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9D PUSH2 0x18A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBB PUSH2 0x1C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH2 0x204 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE6 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0xF9 PUSH2 0x213 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x10B SWAP1 PUSH2 0x34A 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 0x137 SWAP1 PUSH2 0x34A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x182 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x159 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x182 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 0x165 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x65787465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7075626C69632066756E6374696F6E2063616C6C656400000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x20E PUSH2 0x250 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x707269766174652066756E6374696F6E2063616C6C6564000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x696E7465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 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 DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x2CF DUP3 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x2D9 DUP2 DUP6 PUSH2 0x297 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E9 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0x2F2 DUP2 PUSH2 0x2B5 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x315 DUP2 DUP5 PUSH2 0x2C5 JUMP JUMPDEST SWAP1 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 0x361 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x374 JUMPI PUSH2 0x373 PUSH2 0x31D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE PUSH27 0x62C9A7B4D5B0D976446B35F61DD59F6C4D7317E684D2A73794E8ED 0xC 0x23 DUP13 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "1810:416:0:-:0;;;1515:49;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1570:52;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1628:46;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1810:416;;;;;;;;;;;;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;2287:1;2280:8;;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;1810:416:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@externalFunc_51": {
"entryPoint": 394,
"id": 51,
"parameterSlots": 0,
"returnSlots": 1
},
"@internalFunc_26": {
"entryPoint": 592,
"id": 26,
"parameterSlots": 0,
"returnSlots": 1
},
"@privateFunc_9": {
"entryPoint": 531,
"id": 9,
"parameterSlots": 0,
"returnSlots": 1
},
"@publicFunc_43": {
"entryPoint": 455,
"id": 43,
"parameterSlots": 0,
"returnSlots": 1
},
"@publicVar_60": {
"entryPoint": 254,
"id": 60,
"parameterSlots": 0,
"returnSlots": 0
},
"@testInternalFunc_73": {
"entryPoint": 516,
"id": 73,
"parameterSlots": 0,
"returnSlots": 1
},
"@testPrivateFunc_18": {
"entryPoint": 239,
"id": 18,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 709,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 765,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 653,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 663,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 679,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 842,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 797,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 693,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1751:1",
"nodeType": "YulBlock",
"src": "0:1751:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "208:73:1",
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:1",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nativeSrc": "230:6:1",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:1",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nativeSrc": "246:29:1",
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:1",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nativeSrc": "270:4:1",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:1",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nativeSrc": "261:14:1",
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:1",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:1",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:1",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:1",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nativeSrc": "349:77:1",
"nodeType": "YulBlock",
"src": "349:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "366:3:1",
"nodeType": "YulIdentifier",
"src": "366:3:1"
},
{
"name": "src",
"nativeSrc": "371:3:1",
"nodeType": "YulIdentifier",
"src": "371:3:1"
},
{
"name": "length",
"nativeSrc": "376:6:1",
"nodeType": "YulIdentifier",
"src": "376:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "360:5:1",
"nodeType": "YulIdentifier",
"src": "360:5:1"
},
"nativeSrc": "360:23:1",
"nodeType": "YulFunctionCall",
"src": "360:23:1"
},
"nativeSrc": "360:23:1",
"nodeType": "YulExpressionStatement",
"src": "360:23:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "403:3:1",
"nodeType": "YulIdentifier",
"src": "403:3:1"
},
{
"name": "length",
"nativeSrc": "408:6:1",
"nodeType": "YulIdentifier",
"src": "408:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "399:3:1",
"nodeType": "YulIdentifier",
"src": "399:3:1"
},
"nativeSrc": "399:16:1",
"nodeType": "YulFunctionCall",
"src": "399:16:1"
},
{
"kind": "number",
"nativeSrc": "417:1:1",
"nodeType": "YulLiteral",
"src": "417:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "392:6:1",
"nodeType": "YulIdentifier",
"src": "392:6:1"
},
"nativeSrc": "392:27:1",
"nodeType": "YulFunctionCall",
"src": "392:27:1"
},
"nativeSrc": "392:27:1",
"nodeType": "YulExpressionStatement",
"src": "392:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:1",
"nodeType": "YulTypedName",
"src": "331:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:1",
"nodeType": "YulTypedName",
"src": "336:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:1",
"nodeType": "YulTypedName",
"src": "341:6:1",
"type": ""
}
],
"src": "287:139:1"
},
{
"body": {
"nativeSrc": "480:54:1",
"nodeType": "YulBlock",
"src": "480:54:1",
"statements": [
{
"nativeSrc": "490:38:1",
"nodeType": "YulAssignment",
"src": "490:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
},
{
"kind": "number",
"nativeSrc": "515:2:1",
"nodeType": "YulLiteral",
"src": "515:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "504:3:1",
"nodeType": "YulIdentifier",
"src": "504:3:1"
},
"nativeSrc": "504:14:1",
"nodeType": "YulFunctionCall",
"src": "504:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "524:2:1",
"nodeType": "YulLiteral",
"src": "524:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "520:3:1",
"nodeType": "YulIdentifier",
"src": "520:3:1"
},
"nativeSrc": "520:7:1",
"nodeType": "YulFunctionCall",
"src": "520:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "500:3:1",
"nodeType": "YulIdentifier",
"src": "500:3:1"
},
"nativeSrc": "500:28:1",
"nodeType": "YulFunctionCall",
"src": "500:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "490:6:1",
"nodeType": "YulIdentifier",
"src": "490:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "432:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "463:5:1",
"nodeType": "YulTypedName",
"src": "463:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "473:6:1",
"nodeType": "YulTypedName",
"src": "473:6:1",
"type": ""
}
],
"src": "432:102:1"
},
{
"body": {
"nativeSrc": "632:285:1",
"nodeType": "YulBlock",
"src": "632:285:1",
"statements": [
{
"nativeSrc": "642:53:1",
"nodeType": "YulVariableDeclaration",
"src": "642:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "689:5:1",
"nodeType": "YulIdentifier",
"src": "689:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "656:32:1",
"nodeType": "YulIdentifier",
"src": "656:32:1"
},
"nativeSrc": "656:39:1",
"nodeType": "YulFunctionCall",
"src": "656:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "646:6:1",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nativeSrc": "704:78:1",
"nodeType": "YulAssignment",
"src": "704:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "770:3:1",
"nodeType": "YulIdentifier",
"src": "770:3:1"
},
{
"name": "length",
"nativeSrc": "775:6:1",
"nodeType": "YulIdentifier",
"src": "775:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "711:58:1",
"nodeType": "YulIdentifier",
"src": "711:58:1"
},
"nativeSrc": "711:71:1",
"nodeType": "YulFunctionCall",
"src": "711:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "704:3:1",
"nodeType": "YulIdentifier",
"src": "704:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "830:5:1",
"nodeType": "YulIdentifier",
"src": "830:5:1"
},
{
"kind": "number",
"nativeSrc": "837:4:1",
"nodeType": "YulLiteral",
"src": "837:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "826:3:1",
"nodeType": "YulIdentifier",
"src": "826:3:1"
},
"nativeSrc": "826:16:1",
"nodeType": "YulFunctionCall",
"src": "826:16:1"
},
{
"name": "pos",
"nativeSrc": "844:3:1",
"nodeType": "YulIdentifier",
"src": "844:3:1"
},
{
"name": "length",
"nativeSrc": "849:6:1",
"nodeType": "YulIdentifier",
"src": "849:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "791:34:1",
"nodeType": "YulIdentifier",
"src": "791:34:1"
},
"nativeSrc": "791:65:1",
"nodeType": "YulFunctionCall",
"src": "791:65:1"
},
"nativeSrc": "791:65:1",
"nodeType": "YulExpressionStatement",
"src": "791:65:1"
},
{
"nativeSrc": "865:46:1",
"nodeType": "YulAssignment",
"src": "865:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "876:3:1",
"nodeType": "YulIdentifier",
"src": "876:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "903:6:1",
"nodeType": "YulIdentifier",
"src": "903:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "881:21:1",
"nodeType": "YulIdentifier",
"src": "881:21:1"
},
"nativeSrc": "881:29:1",
"nodeType": "YulFunctionCall",
"src": "881:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "872:3:1",
"nodeType": "YulIdentifier",
"src": "872:3:1"
},
"nativeSrc": "872:39:1",
"nodeType": "YulFunctionCall",
"src": "872:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "865:3:1",
"nodeType": "YulIdentifier",
"src": "865:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "540:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "613:5:1",
"nodeType": "YulTypedName",
"src": "613:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "620:3:1",
"nodeType": "YulTypedName",
"src": "620:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "628:3:1",
"nodeType": "YulTypedName",
"src": "628:3:1",
"type": ""
}
],
"src": "540:377:1"
},
{
"body": {
"nativeSrc": "1041:195:1",
"nodeType": "YulBlock",
"src": "1041:195:1",
"statements": [
{
"nativeSrc": "1051:26:1",
"nodeType": "YulAssignment",
"src": "1051:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1063:9:1",
"nodeType": "YulIdentifier",
"src": "1063:9:1"
},
{
"kind": "number",
"nativeSrc": "1074:2:1",
"nodeType": "YulLiteral",
"src": "1074:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1059:3:1",
"nodeType": "YulIdentifier",
"src": "1059:3:1"
},
"nativeSrc": "1059:18:1",
"nodeType": "YulFunctionCall",
"src": "1059:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1051:4:1",
"nodeType": "YulIdentifier",
"src": "1051:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1098:9:1",
"nodeType": "YulIdentifier",
"src": "1098:9:1"
},
{
"kind": "number",
"nativeSrc": "1109:1:1",
"nodeType": "YulLiteral",
"src": "1109:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1094:3:1",
"nodeType": "YulIdentifier",
"src": "1094:3:1"
},
"nativeSrc": "1094:17:1",
"nodeType": "YulFunctionCall",
"src": "1094:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1117:4:1",
"nodeType": "YulIdentifier",
"src": "1117:4:1"
},
{
"name": "headStart",
"nativeSrc": "1123:9:1",
"nodeType": "YulIdentifier",
"src": "1123:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1113:3:1",
"nodeType": "YulIdentifier",
"src": "1113:3:1"
},
"nativeSrc": "1113:20:1",
"nodeType": "YulFunctionCall",
"src": "1113:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1087:6:1",
"nodeType": "YulIdentifier",
"src": "1087:6:1"
},
"nativeSrc": "1087:47:1",
"nodeType": "YulFunctionCall",
"src": "1087:47:1"
},
"nativeSrc": "1087:47:1",
"nodeType": "YulExpressionStatement",
"src": "1087:47:1"
},
{
"nativeSrc": "1143:86:1",
"nodeType": "YulAssignment",
"src": "1143:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1215:6:1",
"nodeType": "YulIdentifier",
"src": "1215:6:1"
},
{
"name": "tail",
"nativeSrc": "1224:4:1",
"nodeType": "YulIdentifier",
"src": "1224:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1151:63:1",
"nodeType": "YulIdentifier",
"src": "1151:63:1"
},
"nativeSrc": "1151:78:1",
"nodeType": "YulFunctionCall",
"src": "1151:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1143:4:1",
"nodeType": "YulIdentifier",
"src": "1143:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "923:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1013:9:1",
"nodeType": "YulTypedName",
"src": "1013:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1025:6:1",
"nodeType": "YulTypedName",
"src": "1025:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1036:4:1",
"nodeType": "YulTypedName",
"src": "1036:4:1",
"type": ""
}
],
"src": "923:313:1"
},
{
"body": {
"nativeSrc": "1270:152:1",
"nodeType": "YulBlock",
"src": "1270:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1287:1:1",
"nodeType": "YulLiteral",
"src": "1287:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1290:77:1",
"nodeType": "YulLiteral",
"src": "1290:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1280:6:1",
"nodeType": "YulIdentifier",
"src": "1280:6:1"
},
"nativeSrc": "1280:88:1",
"nodeType": "YulFunctionCall",
"src": "1280:88:1"
},
"nativeSrc": "1280:88:1",
"nodeType": "YulExpressionStatement",
"src": "1280:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1384:1:1",
"nodeType": "YulLiteral",
"src": "1384:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1387:4:1",
"nodeType": "YulLiteral",
"src": "1387:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1377:6:1",
"nodeType": "YulIdentifier",
"src": "1377:6:1"
},
"nativeSrc": "1377:15:1",
"nodeType": "YulFunctionCall",
"src": "1377:15:1"
},
"nativeSrc": "1377:15:1",
"nodeType": "YulExpressionStatement",
"src": "1377:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1408:1:1",
"nodeType": "YulLiteral",
"src": "1408:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1411:4:1",
"nodeType": "YulLiteral",
"src": "1411:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1401:6:1",
"nodeType": "YulIdentifier",
"src": "1401:6:1"
},
"nativeSrc": "1401:15:1",
"nodeType": "YulFunctionCall",
"src": "1401:15:1"
},
"nativeSrc": "1401:15:1",
"nodeType": "YulExpressionStatement",
"src": "1401:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "1242:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1242:180:1"
},
{
"body": {
"nativeSrc": "1479:269:1",
"nodeType": "YulBlock",
"src": "1479:269:1",
"statements": [
{
"nativeSrc": "1489:22:1",
"nodeType": "YulAssignment",
"src": "1489:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1503:4:1",
"nodeType": "YulIdentifier",
"src": "1503:4:1"
},
{
"kind": "number",
"nativeSrc": "1509:1:1",
"nodeType": "YulLiteral",
"src": "1509:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1499:3:1",
"nodeType": "YulIdentifier",
"src": "1499:3:1"
},
"nativeSrc": "1499:12:1",
"nodeType": "YulFunctionCall",
"src": "1499:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1489:6:1",
"nodeType": "YulIdentifier",
"src": "1489:6:1"
}
]
},
{
"nativeSrc": "1520:38:1",
"nodeType": "YulVariableDeclaration",
"src": "1520:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1550:4:1",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
},
{
"kind": "number",
"nativeSrc": "1556:1:1",
"nodeType": "YulLiteral",
"src": "1556:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1546:3:1",
"nodeType": "YulIdentifier",
"src": "1546:3:1"
},
"nativeSrc": "1546:12:1",
"nodeType": "YulFunctionCall",
"src": "1546:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1524:18:1",
"nodeType": "YulTypedName",
"src": "1524:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1597:51:1",
"nodeType": "YulBlock",
"src": "1597:51:1",
"statements": [
{
"nativeSrc": "1611:27:1",
"nodeType": "YulAssignment",
"src": "1611:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "1625:6:1",
"nodeType": "YulIdentifier",
"src": "1625:6:1"
},
{
"kind": "number",
"nativeSrc": "1633:4:1",
"nodeType": "YulLiteral",
"src": "1633:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1621:3:1",
"nodeType": "YulIdentifier",
"src": "1621:3:1"
},
"nativeSrc": "1621:17:1",
"nodeType": "YulFunctionCall",
"src": "1621:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1611:6:1",
"nodeType": "YulIdentifier",
"src": "1611:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1577:18:1",
"nodeType": "YulIdentifier",
"src": "1577:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1570:6:1",
"nodeType": "YulIdentifier",
"src": "1570:6:1"
},
"nativeSrc": "1570:26:1",
"nodeType": "YulFunctionCall",
"src": "1570:26:1"
},
"nativeSrc": "1567:81:1",
"nodeType": "YulIf",
"src": "1567:81:1"
},
{
"body": {
"nativeSrc": "1700:42:1",
"nodeType": "YulBlock",
"src": "1700:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "1714:16:1",
"nodeType": "YulIdentifier",
"src": "1714:16:1"
},
"nativeSrc": "1714:18:1",
"nodeType": "YulFunctionCall",
"src": "1714:18:1"
},
"nativeSrc": "1714:18:1",
"nodeType": "YulExpressionStatement",
"src": "1714:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1664:18:1",
"nodeType": "YulIdentifier",
"src": "1664:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1687:6:1",
"nodeType": "YulIdentifier",
"src": "1687:6:1"
},
{
"kind": "number",
"nativeSrc": "1695:2:1",
"nodeType": "YulLiteral",
"src": "1695:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1684:2:1",
"nodeType": "YulIdentifier",
"src": "1684:2:1"
},
"nativeSrc": "1684:14:1",
"nodeType": "YulFunctionCall",
"src": "1684:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1661:2:1",
"nodeType": "YulIdentifier",
"src": "1661:2:1"
},
"nativeSrc": "1661:38:1",
"nodeType": "YulFunctionCall",
"src": "1661:38:1"
},
"nativeSrc": "1658:84:1",
"nodeType": "YulIf",
"src": "1658:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "1428:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "1463:4:1",
"nodeType": "YulTypedName",
"src": "1463:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "1472:6:1",
"nodeType": "YulTypedName",
"src": "1472:6:1",
"type": ""
}
],
"src": "1428:320:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630eb13f87146100595780631151fad81461007757806342b148aa146100955780634b73383f146100b3578063e8e46c41146100d1575b5f5ffd5b6100616100ef565b60405161006e91906102fd565b60405180910390f35b61007f6100fe565b60405161008c91906102fd565b60405180910390f35b61009d61018a565b6040516100aa91906102fd565b60405180910390f35b6100bb6101c7565b6040516100c891906102fd565b60405180910390f35b6100d9610204565b6040516100e691906102fd565b60405180910390f35b60606100f9610213565b905090565b6002805461010b9061034a565b80601f01602080910402602001604051908101604052809291908181526020018280546101379061034a565b80156101825780601f1061015957610100808354040283529160200191610182565b820191905f5260205f20905b81548152906001019060200180831161016557829003601f168201915b505050505081565b60606040518060400160405280601881526020017f65787465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b60606040518060400160405280601681526020017f7075626c69632066756e6374696f6e2063616c6c656400000000000000000000815250905090565b606061020e610250565b905090565b60606040518060400160405280601781526020017f707269766174652066756e6374696f6e2063616c6c6564000000000000000000815250905090565b60606040518060400160405280601881526020017f696e7465726e616c2066756e6374696f6e2063616c6c65640000000000000000815250905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102cf8261028d565b6102d98185610297565b93506102e98185602086016102a7565b6102f2816102b5565b840191505092915050565b5f6020820190508181035f83015261031581846102c5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061036157607f821691505b6020821081036103745761037361031d565b5b5091905056fea26469706673582212203a7a62c9a7b4d5b0d976446b35f61dd59f6c4d7317e684d2a73794e8ed0c238c64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xEB13F87 EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x1151FAD8 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x42B148AA EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x4B73383F EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xE8E46C41 EQ PUSH2 0xD1 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x61 PUSH2 0xEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9D PUSH2 0x18A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBB PUSH2 0x1C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH2 0x204 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE6 SWAP2 SWAP1 PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0xF9 PUSH2 0x213 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x10B SWAP1 PUSH2 0x34A 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 0x137 SWAP1 PUSH2 0x34A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x182 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x159 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x182 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 0x165 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x65787465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7075626C69632066756E6374696F6E2063616C6C656400000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x20E PUSH2 0x250 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x707269766174652066756E6374696F6E2063616C6C6564000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x696E7465726E616C2066756E6374696F6E2063616C6C65640000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 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 DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x2CF DUP3 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x2D9 DUP2 DUP6 PUSH2 0x297 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E9 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0x2F2 DUP2 PUSH2 0x2B5 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x315 DUP2 DUP5 PUSH2 0x2C5 JUMP JUMPDEST SWAP1 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 0x361 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x374 JUMPI PUSH2 0x373 PUSH2 0x31D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE PUSH27 0x62C9A7B4D5B0D976446B35F61DD59F6C4D7317E684D2A73794E8ED 0xC 0x23 DUP13 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "1810:416:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1628:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1158:112;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;960:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2113:111;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;336:100;384:13;416;:11;:13::i;:::-;409:20;;336:100;:::o;1628:46::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1158:112::-;1205:13;1230:33;;;;;;;;;;;;;;;;;;;1158:112;:::o;960:106::-;1003:13;1028:31;;;;;;;;;;;;;;;;;;;960:106;:::o;2113:111::-;2171:13;2203:14;:12;:14::i;:::-;2196:21;;2113:111;:::o;221:109::-;266:13;291:32;;;;;;;;;;;;;;;;;;;221:109;:::o;564:112::-;611:13;636:33;;;;;;;;;;;;;;;;;;;564:112;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:180::-;1290:77;1287:1;1280:88;1387:4;1384:1;1377:15;1411:4;1408:1;1401:15;1428:320;1472:6;1509:1;1503:4;1499:12;1489:22;;1556:1;1550:4;1546:12;1577:18;1567:81;;1633:4;1625:6;1621:17;1611:27;;1567:81;1695:2;1687:6;1684:14;1664:18;1661:38;1658:84;;1714:18;;:::i;:::-;1658:84;1479:269;1428:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "188800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"externalFunc()": "infinite",
"publicFunc()": "infinite",
"publicVar()": "infinite",
"testInternalFunc()": "infinite",
"testPrivateFunc()": "infinite"
}
},
"methodIdentifiers": {
"externalFunc()": "42b148aa",
"publicFunc()": "4b73383f",
"publicVar()": "1151fad8",
"testInternalFunc()": "e8e46c41",
"testPrivateFunc()": "0eb13f87"
}
},
"abi": [
{
"inputs": [],
"name": "externalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicVar",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "testInternalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "testPrivateFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "externalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "publicVar",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "testInternalFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "testPrivateFunc",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/6. Visibility/visibility.sol": "Child"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/6. Visibility/visibility.sol": {
"keccak256": "0x2668ee78715963245f00883ea836b09e3e565952a928e0df8e27c8c0876002fc",
"license": "MIT",
"urls": [
"bzz-raw://ada75cad5ea75f62fea9cb6f873edd875f4be9f7be3a24eca5f6185c82dd6b12",
"dweb:/ipfs/QmUmTgSyqZbbDUW8x2vA4rFyKCx16oG1qdrKs57kpsfXY8"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f5ffd5b5061010a8061001c5f395ff3fe6080604052348015600e575f5ffd5b50600436106044575f3560e01c806306661abd146048578063371303c01460615780636d4ce63c146069578063b3bcfa8214606f575b5f5ffd5b604f5f5481565b60405190815260200160405180910390f35b60676075565b005b5f54604f565b6067608b565b60015f5f8282546084919060ae565b9091555050565b60015f5f8282546084919060c4565b634e487b7160e01b5f52601160045260245ffd5b8082018082111560be5760be609a565b92915050565b8181038181111560be5760be609a56fea2646970667358221220a31daf766eb2efe361abc784680464e19e55f93994d971a653dee71a5a3f382064736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x10A DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x44 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH1 0x48 JUMPI DUP1 PUSH4 0x371303C0 EQ PUSH1 0x61 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH1 0x69 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH1 0x6F JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH1 0x4F PUSH0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH0 SLOAD PUSH1 0x4F JUMP JUMPDEST PUSH1 0x67 PUSH1 0x8B JUMP JUMPDEST PUSH1 0x1 PUSH0 PUSH0 DUP3 DUP3 SLOAD PUSH1 0x84 SWAP2 SWAP1 PUSH1 0xAE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH0 PUSH0 DUP3 DUP3 SLOAD PUSH1 0x84 SWAP2 SWAP1 PUSH1 0xC4 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH1 0xBE JUMPI PUSH1 0xBE PUSH1 0x9A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH1 0xBE JUMPI PUSH1 0xBE PUSH1 0x9A JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 SAR 0xAF PUSH23 0x6EB2EFE361ABC784680464E19E55F93994D971A653DEE7 BYTE GAS EXTCODEHASH CODESIZE KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "57:351:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@count_3": {
"entryPoint": null,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@dec_27": {
"entryPoint": 139,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@get_11": {
"entryPoint": null,
"id": 11,
"parameterSlots": 0,
"returnSlots": 1
},
"@inc_19": {
"entryPoint": 117,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 174,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 196,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 154,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:588:1",
"nodeType": "YulBlock",
"src": "0:588:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "115:76:1",
"nodeType": "YulBlock",
"src": "115:76:1",
"statements": [
{
"nativeSrc": "125:26:1",
"nodeType": "YulAssignment",
"src": "125:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "137:9:1",
"nodeType": "YulIdentifier",
"src": "137:9:1"
},
{
"kind": "number",
"nativeSrc": "148:2:1",
"nodeType": "YulLiteral",
"src": "148:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "133:3:1",
"nodeType": "YulIdentifier",
"src": "133:3:1"
},
"nativeSrc": "133:18:1",
"nodeType": "YulFunctionCall",
"src": "133:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "125:4:1",
"nodeType": "YulIdentifier",
"src": "125:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "167:9:1",
"nodeType": "YulIdentifier",
"src": "167:9:1"
},
{
"name": "value0",
"nativeSrc": "178:6:1",
"nodeType": "YulIdentifier",
"src": "178:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "160:6:1",
"nodeType": "YulIdentifier",
"src": "160:6:1"
},
"nativeSrc": "160:25:1",
"nodeType": "YulFunctionCall",
"src": "160:25:1"
},
"nativeSrc": "160:25:1",
"nodeType": "YulExpressionStatement",
"src": "160:25:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "14:177:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "84:9:1",
"nodeType": "YulTypedName",
"src": "84:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "95:6:1",
"nodeType": "YulTypedName",
"src": "95:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "106:4:1",
"nodeType": "YulTypedName",
"src": "106:4:1",
"type": ""
}
],
"src": "14:177:1"
},
{
"body": {
"nativeSrc": "228:95:1",
"nodeType": "YulBlock",
"src": "228:95:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "245:1:1",
"nodeType": "YulLiteral",
"src": "245:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "252:3:1",
"nodeType": "YulLiteral",
"src": "252:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nativeSrc": "257:10:1",
"nodeType": "YulLiteral",
"src": "257:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "248:3:1",
"nodeType": "YulIdentifier",
"src": "248:3:1"
},
"nativeSrc": "248:20:1",
"nodeType": "YulFunctionCall",
"src": "248:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "238:6:1",
"nodeType": "YulIdentifier",
"src": "238:6:1"
},
"nativeSrc": "238:31:1",
"nodeType": "YulFunctionCall",
"src": "238:31:1"
},
"nativeSrc": "238:31:1",
"nodeType": "YulExpressionStatement",
"src": "238:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "285:1:1",
"nodeType": "YulLiteral",
"src": "285:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "288:4:1",
"nodeType": "YulLiteral",
"src": "288:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "278:6:1",
"nodeType": "YulIdentifier",
"src": "278:6:1"
},
"nativeSrc": "278:15:1",
"nodeType": "YulFunctionCall",
"src": "278:15:1"
},
"nativeSrc": "278:15:1",
"nodeType": "YulExpressionStatement",
"src": "278:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "309:1:1",
"nodeType": "YulLiteral",
"src": "309:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "312:4:1",
"nodeType": "YulLiteral",
"src": "312:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "302:6:1",
"nodeType": "YulIdentifier",
"src": "302:6:1"
},
"nativeSrc": "302:15:1",
"nodeType": "YulFunctionCall",
"src": "302:15:1"
},
"nativeSrc": "302:15:1",
"nodeType": "YulExpressionStatement",
"src": "302:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "196:127:1",
"nodeType": "YulFunctionDefinition",
"src": "196:127:1"
},
{
"body": {
"nativeSrc": "376:77:1",
"nodeType": "YulBlock",
"src": "376:77:1",
"statements": [
{
"nativeSrc": "386:16:1",
"nodeType": "YulAssignment",
"src": "386:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "397:1:1",
"nodeType": "YulIdentifier",
"src": "397:1:1"
},
{
"name": "y",
"nativeSrc": "400:1:1",
"nodeType": "YulIdentifier",
"src": "400:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "393:3:1",
"nodeType": "YulIdentifier",
"src": "393:3:1"
},
"nativeSrc": "393:9:1",
"nodeType": "YulFunctionCall",
"src": "393:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "386:3:1",
"nodeType": "YulIdentifier",
"src": "386:3:1"
}
]
},
{
"body": {
"nativeSrc": "425:22:1",
"nodeType": "YulBlock",
"src": "425:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "427:16:1",
"nodeType": "YulIdentifier",
"src": "427:16:1"
},
"nativeSrc": "427:18:1",
"nodeType": "YulFunctionCall",
"src": "427:18:1"
},
"nativeSrc": "427:18:1",
"nodeType": "YulExpressionStatement",
"src": "427:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "417:1:1",
"nodeType": "YulIdentifier",
"src": "417:1:1"
},
{
"name": "sum",
"nativeSrc": "420:3:1",
"nodeType": "YulIdentifier",
"src": "420:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "414:2:1",
"nodeType": "YulIdentifier",
"src": "414:2:1"
},
"nativeSrc": "414:10:1",
"nodeType": "YulFunctionCall",
"src": "414:10:1"
},
"nativeSrc": "411:36:1",
"nodeType": "YulIf",
"src": "411:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "328:125:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "359:1:1",
"nodeType": "YulTypedName",
"src": "359:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "362:1:1",
"nodeType": "YulTypedName",
"src": "362:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "368:3:1",
"nodeType": "YulTypedName",
"src": "368:3:1",
"type": ""
}
],
"src": "328:125:1"
},
{
"body": {
"nativeSrc": "507:79:1",
"nodeType": "YulBlock",
"src": "507:79:1",
"statements": [
{
"nativeSrc": "517:17:1",
"nodeType": "YulAssignment",
"src": "517:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "529:1:1",
"nodeType": "YulIdentifier",
"src": "529:1:1"
},
{
"name": "y",
"nativeSrc": "532:1:1",
"nodeType": "YulIdentifier",
"src": "532:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "525:3:1",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nativeSrc": "525:9:1",
"nodeType": "YulFunctionCall",
"src": "525:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "517:4:1",
"nodeType": "YulIdentifier",
"src": "517:4:1"
}
]
},
{
"body": {
"nativeSrc": "558:22:1",
"nodeType": "YulBlock",
"src": "558:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "560:16:1",
"nodeType": "YulIdentifier",
"src": "560:16:1"
},
"nativeSrc": "560:18:1",
"nodeType": "YulFunctionCall",
"src": "560:18:1"
},
"nativeSrc": "560:18:1",
"nodeType": "YulExpressionStatement",
"src": "560:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "549:4:1",
"nodeType": "YulIdentifier",
"src": "549:4:1"
},
{
"name": "x",
"nativeSrc": "555:1:1",
"nodeType": "YulIdentifier",
"src": "555:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "546:2:1",
"nodeType": "YulIdentifier",
"src": "546:2:1"
},
"nativeSrc": "546:11:1",
"nodeType": "YulFunctionCall",
"src": "546:11:1"
},
"nativeSrc": "543:37:1",
"nodeType": "YulIf",
"src": "543:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "458:128:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "489:1:1",
"nodeType": "YulTypedName",
"src": "489:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "492:1:1",
"nodeType": "YulTypedName",
"src": "492:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "498:4:1",
"nodeType": "YulTypedName",
"src": "498:4:1",
"type": ""
}
],
"src": "458:128:1"
}
]
},
"contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600e575f5ffd5b50600436106044575f3560e01c806306661abd146048578063371303c01460615780636d4ce63c146069578063b3bcfa8214606f575b5f5ffd5b604f5f5481565b60405190815260200160405180910390f35b60676075565b005b5f54604f565b6067608b565b60015f5f8282546084919060ae565b9091555050565b60015f5f8282546084919060c4565b634e487b7160e01b5f52601160045260245ffd5b8082018082111560be5760be609a565b92915050565b8181038181111560be5760be609a56fea2646970667358221220a31daf766eb2efe361abc784680464e19e55f93994d971a653dee71a5a3f382064736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x44 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH1 0x48 JUMPI DUP1 PUSH4 0x371303C0 EQ PUSH1 0x61 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH1 0x69 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH1 0x6F JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH1 0x4F PUSH0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH0 SLOAD PUSH1 0x4F JUMP JUMPDEST PUSH1 0x67 PUSH1 0x8B JUMP JUMPDEST PUSH1 0x1 PUSH0 PUSH0 DUP3 DUP3 SLOAD PUSH1 0x84 SWAP2 SWAP1 PUSH1 0xAE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH0 PUSH0 DUP3 DUP3 SLOAD PUSH1 0x84 SWAP2 SWAP1 PUSH1 0xC4 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH1 0xBE JUMPI PUSH1 0xBE PUSH1 0x9A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH1 0xBE JUMPI PUSH1 0xBE PUSH1 0x9A JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 SAR 0xAF PUSH23 0x6EB2EFE361ABC784680464E19E55F93994D971A653DEE7 BYTE GAS EXTCODEHASH CODESIZE KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "57:351:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;80:17;;;;;;;;;160:25:1;;;148:2;133:18;80:17:0;;;;;;;262:49;;;:::i;:::-;;145:71;181:4;204:5;145:71;;357:49;;;:::i;262:::-;303:1;294:5;;:10;;;;;;;:::i;:::-;;;;-1:-1:-1;;262:49:0:o;357:::-;398:1;389:5;;:10;;;;;;;:::i;196:127:1:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:125;393:9;;;414:10;;;411:36;;;427:18;;:::i;:::-;328:125;;;;:::o;458:128::-;525:9;;;546:11;;;543:37;;;560:18;;:::i"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "53200",
"executionCost": "103",
"totalCost": "53303"
},
"external": {
"count()": "2259",
"dec()": "24485",
"get()": "2300",
"inc()": "24441"
}
},
"methodIdentifiers": {
"count()": "06661abd",
"dec()": "b3bcfa82",
"get()": "6d4ce63c",
"inc()": "371303c0"
}
},
"abi": [
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/1. Introduction/introduction.sol": "Counter"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/1. Introduction/introduction.sol": {
"keccak256": "0x201c35eebf15e218ae0f74a751b512f98136f737c35963f70387ce260b3023f4",
"license": "MIT",
"urls": [
"bzz-raw://3ff5b8916fcee976aa13df43b9ea58cb08ec02f4b0659bccffd447b62dc95296",
"dweb:/ipfs/QmREqxAe5MEMsDHtQrUQXwdroCsnMoMckYgmF1jcJzCLbA"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_93": {
"entryPoint": null,
"id": 93,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_tuple_t_addresst_uint256t_uint256_fromMemory": {
"entryPoint": 97,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:532:1",
"nodeType": "YulBlock",
"src": "0:532:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "129:401:1",
"nodeType": "YulBlock",
"src": "129:401:1",
"statements": [
{
"body": {
"nativeSrc": "175:16:1",
"nodeType": "YulBlock",
"src": "175:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "184:1:1",
"nodeType": "YulLiteral",
"src": "184:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "187:1:1",
"nodeType": "YulLiteral",
"src": "187:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "177:6:1",
"nodeType": "YulIdentifier",
"src": "177:6:1"
},
"nativeSrc": "177:12:1",
"nodeType": "YulFunctionCall",
"src": "177:12:1"
},
"nativeSrc": "177:12:1",
"nodeType": "YulExpressionStatement",
"src": "177:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "150:7:1",
"nodeType": "YulIdentifier",
"src": "150:7:1"
},
{
"name": "headStart",
"nativeSrc": "159:9:1",
"nodeType": "YulIdentifier",
"src": "159:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "146:3:1",
"nodeType": "YulIdentifier",
"src": "146:3:1"
},
"nativeSrc": "146:23:1",
"nodeType": "YulFunctionCall",
"src": "146:23:1"
},
{
"kind": "number",
"nativeSrc": "171:2:1",
"nodeType": "YulLiteral",
"src": "171:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "142:3:1",
"nodeType": "YulIdentifier",
"src": "142:3:1"
},
"nativeSrc": "142:32:1",
"nodeType": "YulFunctionCall",
"src": "142:32:1"
},
"nativeSrc": "139:52:1",
"nodeType": "YulIf",
"src": "139:52:1"
},
{
"nativeSrc": "200:29:1",
"nodeType": "YulVariableDeclaration",
"src": "200:29:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "219:9:1",
"nodeType": "YulIdentifier",
"src": "219:9:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "213:5:1",
"nodeType": "YulIdentifier",
"src": "213:5:1"
},
"nativeSrc": "213:16:1",
"nodeType": "YulFunctionCall",
"src": "213:16:1"
},
"variables": [
{
"name": "value",
"nativeSrc": "204:5:1",
"nodeType": "YulTypedName",
"src": "204:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "292:16:1",
"nodeType": "YulBlock",
"src": "292:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "301:1:1",
"nodeType": "YulLiteral",
"src": "301:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "304:1:1",
"nodeType": "YulLiteral",
"src": "304:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "294:6:1",
"nodeType": "YulIdentifier",
"src": "294:6:1"
},
"nativeSrc": "294:12:1",
"nodeType": "YulFunctionCall",
"src": "294:12:1"
},
"nativeSrc": "294:12:1",
"nodeType": "YulExpressionStatement",
"src": "294:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "251:5:1",
"nodeType": "YulIdentifier",
"src": "251:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "262:5:1",
"nodeType": "YulIdentifier",
"src": "262:5:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "277:3:1",
"nodeType": "YulLiteral",
"src": "277:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "282:1:1",
"nodeType": "YulLiteral",
"src": "282:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "273:3:1",
"nodeType": "YulIdentifier",
"src": "273:3:1"
},
"nativeSrc": "273:11:1",
"nodeType": "YulFunctionCall",
"src": "273:11:1"
},
{
"kind": "number",
"nativeSrc": "286:1:1",
"nodeType": "YulLiteral",
"src": "286:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "269:3:1",
"nodeType": "YulIdentifier",
"src": "269:3:1"
},
"nativeSrc": "269:19:1",
"nodeType": "YulFunctionCall",
"src": "269:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "258:3:1",
"nodeType": "YulIdentifier",
"src": "258:3:1"
},
"nativeSrc": "258:31:1",
"nodeType": "YulFunctionCall",
"src": "258:31:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "248:2:1",
"nodeType": "YulIdentifier",
"src": "248:2:1"
},
"nativeSrc": "248:42:1",
"nodeType": "YulFunctionCall",
"src": "248:42:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "241:6:1",
"nodeType": "YulIdentifier",
"src": "241:6:1"
},
"nativeSrc": "241:50:1",
"nodeType": "YulFunctionCall",
"src": "241:50:1"
},
"nativeSrc": "238:70:1",
"nodeType": "YulIf",
"src": "238:70:1"
},
{
"nativeSrc": "317:15:1",
"nodeType": "YulAssignment",
"src": "317:15:1",
"value": {
"name": "value",
"nativeSrc": "327:5:1",
"nodeType": "YulIdentifier",
"src": "327:5:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "317:6:1",
"nodeType": "YulIdentifier",
"src": "317:6:1"
}
]
},
{
"nativeSrc": "341:16:1",
"nodeType": "YulVariableDeclaration",
"src": "341:16:1",
"value": {
"kind": "number",
"nativeSrc": "356:1:1",
"nodeType": "YulLiteral",
"src": "356:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value_1",
"nativeSrc": "345:7:1",
"nodeType": "YulTypedName",
"src": "345:7:1",
"type": ""
}
]
},
{
"nativeSrc": "366:36:1",
"nodeType": "YulAssignment",
"src": "366:36:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "387:9:1",
"nodeType": "YulIdentifier",
"src": "387:9:1"
},
{
"kind": "number",
"nativeSrc": "398:2:1",
"nodeType": "YulLiteral",
"src": "398:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "383:3:1",
"nodeType": "YulIdentifier",
"src": "383:3:1"
},
"nativeSrc": "383:18:1",
"nodeType": "YulFunctionCall",
"src": "383:18:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "377:5:1",
"nodeType": "YulIdentifier",
"src": "377:5:1"
},
"nativeSrc": "377:25:1",
"nodeType": "YulFunctionCall",
"src": "377:25:1"
},
"variableNames": [
{
"name": "value_1",
"nativeSrc": "366:7:1",
"nodeType": "YulIdentifier",
"src": "366:7:1"
}
]
},
{
"nativeSrc": "411:17:1",
"nodeType": "YulAssignment",
"src": "411:17:1",
"value": {
"name": "value_1",
"nativeSrc": "421:7:1",
"nodeType": "YulIdentifier",
"src": "421:7:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "411:6:1",
"nodeType": "YulIdentifier",
"src": "411:6:1"
}
]
},
{
"nativeSrc": "437:16:1",
"nodeType": "YulVariableDeclaration",
"src": "437:16:1",
"value": {
"kind": "number",
"nativeSrc": "452:1:1",
"nodeType": "YulLiteral",
"src": "452:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value_2",
"nativeSrc": "441:7:1",
"nodeType": "YulTypedName",
"src": "441:7:1",
"type": ""
}
]
},
{
"nativeSrc": "462:36:1",
"nodeType": "YulAssignment",
"src": "462:36:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "483:9:1",
"nodeType": "YulIdentifier",
"src": "483:9:1"
},
{
"kind": "number",
"nativeSrc": "494:2:1",
"nodeType": "YulLiteral",
"src": "494:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "479:3:1",
"nodeType": "YulIdentifier",
"src": "479:3:1"
},
"nativeSrc": "479:18:1",
"nodeType": "YulFunctionCall",
"src": "479:18:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "473:5:1",
"nodeType": "YulIdentifier",
"src": "473:5:1"
},
"nativeSrc": "473:25:1",
"nodeType": "YulFunctionCall",
"src": "473:25:1"
},
"variableNames": [
{
"name": "value_2",
"nativeSrc": "462:7:1",
"nodeType": "YulIdentifier",
"src": "462:7:1"
}
]
},
{
"nativeSrc": "507:17:1",
"nodeType": "YulAssignment",
"src": "507:17:1",
"value": {
"name": "value_2",
"nativeSrc": "517:7:1",
"nodeType": "YulIdentifier",
"src": "517:7:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "507:6:1",
"nodeType": "YulIdentifier",
"src": "507:6:1"
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256t_uint256_fromMemory",
"nativeSrc": "14:516:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "79:9:1",
"nodeType": "YulTypedName",
"src": "79:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "90:7:1",
"nodeType": "YulTypedName",
"src": "90:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "102:6:1",
"nodeType": "YulTypedName",
"src": "102:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "110:6:1",
"nodeType": "YulTypedName",
"src": "110:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "118:6:1",
"nodeType": "YulTypedName",
"src": "118:6:1",
"type": ""
}
],
"src": "14:516:1"
}
]
},
"contents": "{\n { }\n function abi_decode_tuple_t_addresst_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let value_1 := 0\n value_1 := mload(add(headStart, 32))\n value1 := value_1\n let value_2 := 0\n value_2 := mload(add(headStart, 64))\n value2 := value_2\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "6080604052348015600e575f5ffd5b506040516105ca3803806105ca833981016040819052602b916061565b5f80546001600160a01b039094166001600160a01b0319948516179055600191909155600280549092163317909155600555609e565b5f5f5f606084860312156072575f5ffd5b83516001600160a01b03811681146087575f5ffd5b602085015160409095015190969495509392505050565b61051f806100ab5f395ff3fe60806040526004361061009a575f3560e01c806362ea82db1161006257806362ea82db146101495780637cc3ae8c1461018257806391f9015714610197578063be9a6555146101bc578063c6bc5182146101d0578063d57bde79146101e5575f5ffd5b806308551a531461009e57806312fa6feb146100da5780631998aeef146101085780631f2698ab1461011257806347ccca021461012b575b5f5ffd5b3480156100a9575f5ffd5b506002546100bd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100e5575f5ffd5b506004546100f890610100900460ff1681565b60405190151581526020016100d1565b6101106101fa565b005b34801561011d575f5ffd5b506004546100f89060ff1681565b348015610136575f5ffd5b505f546100bd906001600160a01b031681565b348015610154575f5ffd5b50610174610163366004610497565b60066020525f908152604090205481565b6040519081526020016100d1565b34801561018d575f5ffd5b5061017460035481565b3480156101a2575f5ffd5b506004546100bd906201000090046001600160a01b031681565b3480156101c7575f5ffd5b50610110610363565b3480156101db575f5ffd5b5061017460015481565b3480156101f0575f5ffd5b5061017460055481565b60045460ff1661023f5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd081cdd185c9d195960aa1b60448201526064015b60405180910390fd5b60035442106102785760405162461bcd60e51b8152602060048201526005602482015264195b99195960da1b6044820152606401610236565b60055434116102bb5760405162461bcd60e51b815260206004820152600f60248201526e1d985b1d59480f081a1a59da195cdd608a1b6044820152606401610236565b6004546201000090046001600160a01b03161561030a576005546004546201000090046001600160a01b03165f90815260066020526040812080549091906103049084906104c4565b90915550505b6004805462010000600160b01b03191633620100008102919091179091553460058190556040519081527fe684a55f31b79eca403df938249029212a5925ec6be8012e099b45bc1019e5d29060200160405180910390a2565b60045460ff16156103a05760405162461bcd60e51b81526020600482015260076024820152661cdd185c9d195960ca1b6044820152606401610236565b6002546001600160a01b031633146103e75760405162461bcd60e51b815260206004820152600a6024820152693737ba1039b2b63632b960b11b6044820152606401610236565b5f546001546040516323b872dd60e01b815233600482015230602482015260448101919091526001600160a01b03909116906323b872dd906064015f604051808303815f87803b158015610439575f5ffd5b505af115801561044b573d5f5f3e3d5ffd5b50506004805460ff191660011790555061046a90504262093a806104c4565b6003556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b905f90a1565b5f602082840312156104a7575f5ffd5b81356001600160a01b03811681146104bd575f5ffd5b9392505050565b808201808211156104e357634e487b7160e01b5f52601160045260245ffd5b9291505056fea26469706673582212209aaafe22137a0e8c9f9e0b130f7c6031250edfbb79f53a814b16e57695ef70a364736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x5CA CODESIZE SUB DUP1 PUSH2 0x5CA DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH1 0x2B SWAP2 PUSH1 0x61 JUMP JUMPDEST PUSH0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP5 DUP6 AND OR SWAP1 SSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP3 AND CALLER OR SWAP1 SWAP2 SSTORE PUSH1 0x5 SSTORE PUSH1 0x9E JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH1 0x72 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH1 0x87 JUMPI PUSH0 PUSH0 REVERT JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD PUSH1 0x40 SWAP1 SWAP6 ADD MLOAD SWAP1 SWAP7 SWAP5 SWAP6 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x51F DUP1 PUSH2 0xAB PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x62EA82DB GT PUSH2 0x62 JUMPI DUP1 PUSH4 0x62EA82DB EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x7CC3AE8C EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0x91F90157 EQ PUSH2 0x197 JUMPI DUP1 PUSH4 0xBE9A6555 EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0xC6BC5182 EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xD57BDE79 EQ PUSH2 0x1E5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP1 PUSH4 0x8551A53 EQ PUSH2 0x9E JUMPI DUP1 PUSH4 0x12FA6FEB EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x1998AEEF EQ PUSH2 0x108 JUMPI DUP1 PUSH4 0x1F2698AB EQ PUSH2 0x112 JUMPI DUP1 PUSH4 0x47CCCA02 EQ PUSH2 0x12B JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0xBD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xF8 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD1 JUMP JUMPDEST PUSH2 0x110 PUSH2 0x1FA JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11D JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xF8 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH0 SLOAD PUSH2 0xBD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x154 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH2 0x163 CALLDATASIZE PUSH1 0x4 PUSH2 0x497 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE PUSH0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18D JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A2 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xBD SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x363 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DB JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F0 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND PUSH2 0x23F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x1B9BDD081CDD185C9D1959 PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD TIMESTAMP LT PUSH2 0x278 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x5 PUSH1 0x24 DUP3 ADD MSTORE PUSH5 0x195B991959 PUSH1 0xDA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH1 0x5 SLOAD CALLVALUE GT PUSH2 0x2BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x1D985B1D59480F081A1A59DA195CDD PUSH1 0x8A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x30A JUMPI PUSH1 0x5 SLOAD PUSH1 0x4 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x304 SWAP1 DUP5 SWAP1 PUSH2 0x4C4 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT AND CALLER PUSH3 0x10000 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE CALLVALUE PUSH1 0x5 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xE684A55F31B79ECA403DF938249029212A5925EC6BE8012E099B45BC1019E5D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3A0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x1CDD185C9D1959 PUSH1 0xCA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3E7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x3737BA1039B2B63632B9 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH0 SLOAD PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x439 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x44B JUMPI RETURNDATASIZE PUSH0 PUSH0 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE POP PUSH2 0x46A SWAP1 POP TIMESTAMP PUSH3 0x93A80 PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x3 SSTORE PUSH1 0x40 MLOAD PUSH32 0x1B55BA3AA851A46BE3B365AEE5B5C140EDD620D578922F3E8466D2CBD96F954B SWAP1 PUSH0 SWAP1 LOG1 JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4BD JUMPI PUSH0 PUSH0 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x4E3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 0xAA INVALID 0x22 SGT PUSH27 0xE8C9F9E0B130F7C6031250EDFBB79F53A814B16E57695EF70A364 PUSH20 0x6F6C634300081E00330000000000000000000000 ",
"sourceMap": "278:1376:0:-:0;;;741:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;839:3;:19;;-1:-1:-1;;;;;839:19:0;;;-1:-1:-1;;;;;;839:19:0;;;;;;;868:14;;;;893:6;:28;;;;;910:10;893:28;;;;931:10;:25;278:1376;;14:516:1;102:6;110;118;171:2;159:9;150:7;146:23;142:32;139:52;;;187:1;184;177:12;139:52;213:16;;-1:-1:-1;;;;;258:31:1;;248:42;;238:70;;304:1;301;294:12;238:70;398:2;383:18;;377:25;494:2;479:18;;;473:25;327:5;;377:25;;-1:-1:-1;473:25:1;14:516;-1:-1:-1;;;14:516:1:o;:::-;278:1376:0;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@bid_193": {
"entryPoint": 506,
"id": 193,
"parameterSlots": 0,
"returnSlots": 0
},
"@bids_61": {
"entryPoint": null,
"id": 61,
"parameterSlots": 0,
"returnSlots": 0
},
"@endAt_49": {
"entryPoint": null,
"id": 49,
"parameterSlots": 0,
"returnSlots": 0
},
"@ended_53": {
"entryPoint": null,
"id": 53,
"parameterSlots": 0,
"returnSlots": 0
},
"@highestBid_57": {
"entryPoint": null,
"id": 57,
"parameterSlots": 0,
"returnSlots": 0
},
"@highestBidder_55": {
"entryPoint": null,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@nftId_45": {
"entryPoint": null,
"id": 45,
"parameterSlots": 0,
"returnSlots": 0
},
"@nft_43": {
"entryPoint": null,
"id": 43,
"parameterSlots": 0,
"returnSlots": 0
},
"@seller_47": {
"entryPoint": null,
"id": 47,
"parameterSlots": 0,
"returnSlots": 0
},
"@start_137": {
"entryPoint": 867,
"id": 137,
"parameterSlots": 0,
"returnSlots": 0
},
"@started_51": {
"entryPoint": null,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_tuple_t_address": {
"entryPoint": 1175,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_contract$_IERC721_$20__to_t_address__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_31ecb7a29841498f1e28af68923574435d9e6d6fa89e8c74f09335b416bf02e6__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_bdd2b11e12b62ec1dcb7f0672fc8eae42b5d96c951242139ad2dbc8a2569e4eb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_e77010d1cd84746d4d55bc64a3553056b308493098e3085151b4455976f44694__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_e77c4a3978235c31fbb1be138ac60a8db876003712c1b04acc56e7b9ab046577__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_eda95f959a2930889a9a5ac20593327fae0cbcf35fa43e612c4ff964430edb38__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1220,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:3624:1",
"nodeType": "YulBlock",
"src": "0:3624:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "131:102:1",
"nodeType": "YulBlock",
"src": "131:102:1",
"statements": [
{
"nativeSrc": "141:26:1",
"nodeType": "YulAssignment",
"src": "141:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "153:9:1",
"nodeType": "YulIdentifier",
"src": "153:9:1"
},
{
"kind": "number",
"nativeSrc": "164:2:1",
"nodeType": "YulLiteral",
"src": "164:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "149:3:1",
"nodeType": "YulIdentifier",
"src": "149:3:1"
},
"nativeSrc": "149:18:1",
"nodeType": "YulFunctionCall",
"src": "149:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "141:4:1",
"nodeType": "YulIdentifier",
"src": "141:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "183:9:1",
"nodeType": "YulIdentifier",
"src": "183:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "198:6:1",
"nodeType": "YulIdentifier",
"src": "198:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "214:3:1",
"nodeType": "YulLiteral",
"src": "214:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "219:1:1",
"nodeType": "YulLiteral",
"src": "219:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "210:3:1",
"nodeType": "YulIdentifier",
"src": "210:3:1"
},
"nativeSrc": "210:11:1",
"nodeType": "YulFunctionCall",
"src": "210:11:1"
},
{
"kind": "number",
"nativeSrc": "223:1:1",
"nodeType": "YulLiteral",
"src": "223:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "206:3:1",
"nodeType": "YulIdentifier",
"src": "206:3:1"
},
"nativeSrc": "206:19:1",
"nodeType": "YulFunctionCall",
"src": "206:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "194:3:1",
"nodeType": "YulIdentifier",
"src": "194:3:1"
},
"nativeSrc": "194:32:1",
"nodeType": "YulFunctionCall",
"src": "194:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "176:6:1",
"nodeType": "YulIdentifier",
"src": "176:6:1"
},
"nativeSrc": "176:51:1",
"nodeType": "YulFunctionCall",
"src": "176:51:1"
},
"nativeSrc": "176:51:1",
"nodeType": "YulExpressionStatement",
"src": "176:51:1"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nativeSrc": "14:219:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "100:9:1",
"nodeType": "YulTypedName",
"src": "100:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "111:6:1",
"nodeType": "YulTypedName",
"src": "111:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "122:4:1",
"nodeType": "YulTypedName",
"src": "122:4:1",
"type": ""
}
],
"src": "14:219:1"
},
{
"body": {
"nativeSrc": "333:92:1",
"nodeType": "YulBlock",
"src": "333:92:1",
"statements": [
{
"nativeSrc": "343:26:1",
"nodeType": "YulAssignment",
"src": "343:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "355:9:1",
"nodeType": "YulIdentifier",
"src": "355:9:1"
},
{
"kind": "number",
"nativeSrc": "366:2:1",
"nodeType": "YulLiteral",
"src": "366:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "351:3:1",
"nodeType": "YulIdentifier",
"src": "351:3:1"
},
"nativeSrc": "351:18:1",
"nodeType": "YulFunctionCall",
"src": "351:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "343:4:1",
"nodeType": "YulIdentifier",
"src": "343:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "385:9:1",
"nodeType": "YulIdentifier",
"src": "385:9:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value0",
"nativeSrc": "410:6:1",
"nodeType": "YulIdentifier",
"src": "410:6:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "403:6:1",
"nodeType": "YulIdentifier",
"src": "403:6:1"
},
"nativeSrc": "403:14:1",
"nodeType": "YulFunctionCall",
"src": "403:14:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "396:6:1",
"nodeType": "YulIdentifier",
"src": "396:6:1"
},
"nativeSrc": "396:22:1",
"nodeType": "YulFunctionCall",
"src": "396:22:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "378:6:1",
"nodeType": "YulIdentifier",
"src": "378:6:1"
},
"nativeSrc": "378:41:1",
"nodeType": "YulFunctionCall",
"src": "378:41:1"
},
"nativeSrc": "378:41:1",
"nodeType": "YulExpressionStatement",
"src": "378:41:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "238:187:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "302:9:1",
"nodeType": "YulTypedName",
"src": "302:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "313:6:1",
"nodeType": "YulTypedName",
"src": "313:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "324:4:1",
"nodeType": "YulTypedName",
"src": "324:4:1",
"type": ""
}
],
"src": "238:187:1"
},
{
"body": {
"nativeSrc": "545:102:1",
"nodeType": "YulBlock",
"src": "545:102:1",
"statements": [
{
"nativeSrc": "555:26:1",
"nodeType": "YulAssignment",
"src": "555:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "567:9:1",
"nodeType": "YulIdentifier",
"src": "567:9:1"
},
{
"kind": "number",
"nativeSrc": "578:2:1",
"nodeType": "YulLiteral",
"src": "578:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "563:3:1",
"nodeType": "YulIdentifier",
"src": "563:3:1"
},
"nativeSrc": "563:18:1",
"nodeType": "YulFunctionCall",
"src": "563:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "555:4:1",
"nodeType": "YulIdentifier",
"src": "555:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "597:9:1",
"nodeType": "YulIdentifier",
"src": "597:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "612:6:1",
"nodeType": "YulIdentifier",
"src": "612:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "628:3:1",
"nodeType": "YulLiteral",
"src": "628:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "633:1:1",
"nodeType": "YulLiteral",
"src": "633:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "624:3:1",
"nodeType": "YulIdentifier",
"src": "624:3:1"
},
"nativeSrc": "624:11:1",
"nodeType": "YulFunctionCall",
"src": "624:11:1"
},
{
"kind": "number",
"nativeSrc": "637:1:1",
"nodeType": "YulLiteral",
"src": "637:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "620:3:1",
"nodeType": "YulIdentifier",
"src": "620:3:1"
},
"nativeSrc": "620:19:1",
"nodeType": "YulFunctionCall",
"src": "620:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "608:3:1",
"nodeType": "YulIdentifier",
"src": "608:3:1"
},
"nativeSrc": "608:32:1",
"nodeType": "YulFunctionCall",
"src": "608:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "590:6:1",
"nodeType": "YulIdentifier",
"src": "590:6:1"
},
"nativeSrc": "590:51:1",
"nodeType": "YulFunctionCall",
"src": "590:51:1"
},
"nativeSrc": "590:51:1",
"nodeType": "YulExpressionStatement",
"src": "590:51:1"
}
]
},
"name": "abi_encode_tuple_t_contract$_IERC721_$20__to_t_address__fromStack_reversed",
"nativeSrc": "430:217:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "514:9:1",
"nodeType": "YulTypedName",
"src": "514:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "525:6:1",
"nodeType": "YulTypedName",
"src": "525:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "536:4:1",
"nodeType": "YulTypedName",
"src": "536:4:1",
"type": ""
}
],
"src": "430:217:1"
},
{
"body": {
"nativeSrc": "722:216:1",
"nodeType": "YulBlock",
"src": "722:216:1",
"statements": [
{
"body": {
"nativeSrc": "768:16:1",
"nodeType": "YulBlock",
"src": "768:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "777:1:1",
"nodeType": "YulLiteral",
"src": "777:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "780:1:1",
"nodeType": "YulLiteral",
"src": "780:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "770:6:1",
"nodeType": "YulIdentifier",
"src": "770:6:1"
},
"nativeSrc": "770:12:1",
"nodeType": "YulFunctionCall",
"src": "770:12:1"
},
"nativeSrc": "770:12:1",
"nodeType": "YulExpressionStatement",
"src": "770:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "743:7:1",
"nodeType": "YulIdentifier",
"src": "743:7:1"
},
{
"name": "headStart",
"nativeSrc": "752:9:1",
"nodeType": "YulIdentifier",
"src": "752:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "739:3:1",
"nodeType": "YulIdentifier",
"src": "739:3:1"
},
"nativeSrc": "739:23:1",
"nodeType": "YulFunctionCall",
"src": "739:23:1"
},
{
"kind": "number",
"nativeSrc": "764:2:1",
"nodeType": "YulLiteral",
"src": "764:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "735:3:1",
"nodeType": "YulIdentifier",
"src": "735:3:1"
},
"nativeSrc": "735:32:1",
"nodeType": "YulFunctionCall",
"src": "735:32:1"
},
"nativeSrc": "732:52:1",
"nodeType": "YulIf",
"src": "732:52:1"
},
{
"nativeSrc": "793:36:1",
"nodeType": "YulVariableDeclaration",
"src": "793:36:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "819:9:1",
"nodeType": "YulIdentifier",
"src": "819:9:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "806:12:1",
"nodeType": "YulIdentifier",
"src": "806:12:1"
},
"nativeSrc": "806:23:1",
"nodeType": "YulFunctionCall",
"src": "806:23:1"
},
"variables": [
{
"name": "value",
"nativeSrc": "797:5:1",
"nodeType": "YulTypedName",
"src": "797:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "892:16:1",
"nodeType": "YulBlock",
"src": "892:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "901:1:1",
"nodeType": "YulLiteral",
"src": "901:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "904:1:1",
"nodeType": "YulLiteral",
"src": "904:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "894:6:1",
"nodeType": "YulIdentifier",
"src": "894:6:1"
},
"nativeSrc": "894:12:1",
"nodeType": "YulFunctionCall",
"src": "894:12:1"
},
"nativeSrc": "894:12:1",
"nodeType": "YulExpressionStatement",
"src": "894:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "851:5:1",
"nodeType": "YulIdentifier",
"src": "851:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "862:5:1",
"nodeType": "YulIdentifier",
"src": "862:5:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "877:3:1",
"nodeType": "YulLiteral",
"src": "877:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "882:1:1",
"nodeType": "YulLiteral",
"src": "882:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "873:3:1",
"nodeType": "YulIdentifier",
"src": "873:3:1"
},
"nativeSrc": "873:11:1",
"nodeType": "YulFunctionCall",
"src": "873:11:1"
},
{
"kind": "number",
"nativeSrc": "886:1:1",
"nodeType": "YulLiteral",
"src": "886:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "869:3:1",
"nodeType": "YulIdentifier",
"src": "869:3:1"
},
"nativeSrc": "869:19:1",
"nodeType": "YulFunctionCall",
"src": "869:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "858:3:1",
"nodeType": "YulIdentifier",
"src": "858:3:1"
},
"nativeSrc": "858:31:1",
"nodeType": "YulFunctionCall",
"src": "858:31:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "848:2:1",
"nodeType": "YulIdentifier",
"src": "848:2:1"
},
"nativeSrc": "848:42:1",
"nodeType": "YulFunctionCall",
"src": "848:42:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "841:6:1",
"nodeType": "YulIdentifier",
"src": "841:6:1"
},
"nativeSrc": "841:50:1",
"nodeType": "YulFunctionCall",
"src": "841:50:1"
},
"nativeSrc": "838:70:1",
"nodeType": "YulIf",
"src": "838:70:1"
},
{
"nativeSrc": "917:15:1",
"nodeType": "YulAssignment",
"src": "917:15:1",
"value": {
"name": "value",
"nativeSrc": "927:5:1",
"nodeType": "YulIdentifier",
"src": "927:5:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "917:6:1",
"nodeType": "YulIdentifier",
"src": "917:6:1"
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "652:286:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "688:9:1",
"nodeType": "YulTypedName",
"src": "688:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "699:7:1",
"nodeType": "YulTypedName",
"src": "699:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "711:6:1",
"nodeType": "YulTypedName",
"src": "711:6:1",
"type": ""
}
],
"src": "652:286:1"
},
{
"body": {
"nativeSrc": "1044:76:1",
"nodeType": "YulBlock",
"src": "1044:76:1",
"statements": [
{
"nativeSrc": "1054:26:1",
"nodeType": "YulAssignment",
"src": "1054:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1066:9:1",
"nodeType": "YulIdentifier",
"src": "1066:9:1"
},
{
"kind": "number",
"nativeSrc": "1077:2:1",
"nodeType": "YulLiteral",
"src": "1077:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1062:3:1",
"nodeType": "YulIdentifier",
"src": "1062:3:1"
},
"nativeSrc": "1062:18:1",
"nodeType": "YulFunctionCall",
"src": "1062:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1054:4:1",
"nodeType": "YulIdentifier",
"src": "1054:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1096:9:1",
"nodeType": "YulIdentifier",
"src": "1096:9:1"
},
{
"name": "value0",
"nativeSrc": "1107:6:1",
"nodeType": "YulIdentifier",
"src": "1107:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1089:6:1",
"nodeType": "YulIdentifier",
"src": "1089:6:1"
},
"nativeSrc": "1089:25:1",
"nodeType": "YulFunctionCall",
"src": "1089:25:1"
},
"nativeSrc": "1089:25:1",
"nodeType": "YulExpressionStatement",
"src": "1089:25:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "943:177:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1013:9:1",
"nodeType": "YulTypedName",
"src": "1013:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1024:6:1",
"nodeType": "YulTypedName",
"src": "1024:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1035:4:1",
"nodeType": "YulTypedName",
"src": "1035:4:1",
"type": ""
}
],
"src": "943:177:1"
},
{
"body": {
"nativeSrc": "1226:102:1",
"nodeType": "YulBlock",
"src": "1226:102:1",
"statements": [
{
"nativeSrc": "1236:26:1",
"nodeType": "YulAssignment",
"src": "1236:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1248:9:1",
"nodeType": "YulIdentifier",
"src": "1248:9:1"
},
{
"kind": "number",
"nativeSrc": "1259:2:1",
"nodeType": "YulLiteral",
"src": "1259:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1244:3:1",
"nodeType": "YulIdentifier",
"src": "1244:3:1"
},
"nativeSrc": "1244:18:1",
"nodeType": "YulFunctionCall",
"src": "1244:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1236:4:1",
"nodeType": "YulIdentifier",
"src": "1236:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1278:9:1",
"nodeType": "YulIdentifier",
"src": "1278:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "1293:6:1",
"nodeType": "YulIdentifier",
"src": "1293:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1309:3:1",
"nodeType": "YulLiteral",
"src": "1309:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "1314:1:1",
"nodeType": "YulLiteral",
"src": "1314:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1305:3:1",
"nodeType": "YulIdentifier",
"src": "1305:3:1"
},
"nativeSrc": "1305:11:1",
"nodeType": "YulFunctionCall",
"src": "1305:11:1"
},
{
"kind": "number",
"nativeSrc": "1318:1:1",
"nodeType": "YulLiteral",
"src": "1318:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1301:3:1",
"nodeType": "YulIdentifier",
"src": "1301:3:1"
},
"nativeSrc": "1301:19:1",
"nodeType": "YulFunctionCall",
"src": "1301:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1289:3:1",
"nodeType": "YulIdentifier",
"src": "1289:3:1"
},
"nativeSrc": "1289:32:1",
"nodeType": "YulFunctionCall",
"src": "1289:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1271:6:1",
"nodeType": "YulIdentifier",
"src": "1271:6:1"
},
"nativeSrc": "1271:51:1",
"nodeType": "YulFunctionCall",
"src": "1271:51:1"
},
"nativeSrc": "1271:51:1",
"nodeType": "YulExpressionStatement",
"src": "1271:51:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "1125:203:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1195:9:1",
"nodeType": "YulTypedName",
"src": "1195:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1206:6:1",
"nodeType": "YulTypedName",
"src": "1206:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1217:4:1",
"nodeType": "YulTypedName",
"src": "1217:4:1",
"type": ""
}
],
"src": "1125:203:1"
},
{
"body": {
"nativeSrc": "1507:161:1",
"nodeType": "YulBlock",
"src": "1507:161:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1524:9:1",
"nodeType": "YulIdentifier",
"src": "1524:9:1"
},
{
"kind": "number",
"nativeSrc": "1535:2:1",
"nodeType": "YulLiteral",
"src": "1535:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1517:6:1",
"nodeType": "YulIdentifier",
"src": "1517:6:1"
},
"nativeSrc": "1517:21:1",
"nodeType": "YulFunctionCall",
"src": "1517:21:1"
},
"nativeSrc": "1517:21:1",
"nodeType": "YulExpressionStatement",
"src": "1517:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1558:9:1",
"nodeType": "YulIdentifier",
"src": "1558:9:1"
},
{
"kind": "number",
"nativeSrc": "1569:2:1",
"nodeType": "YulLiteral",
"src": "1569:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1554:3:1",
"nodeType": "YulIdentifier",
"src": "1554:3:1"
},
"nativeSrc": "1554:18:1",
"nodeType": "YulFunctionCall",
"src": "1554:18:1"
},
{
"kind": "number",
"nativeSrc": "1574:2:1",
"nodeType": "YulLiteral",
"src": "1574:2:1",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1547:6:1",
"nodeType": "YulIdentifier",
"src": "1547:6:1"
},
"nativeSrc": "1547:30:1",
"nodeType": "YulFunctionCall",
"src": "1547:30:1"
},
"nativeSrc": "1547:30:1",
"nodeType": "YulExpressionStatement",
"src": "1547:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1597:9:1",
"nodeType": "YulIdentifier",
"src": "1597:9:1"
},
{
"kind": "number",
"nativeSrc": "1608:2:1",
"nodeType": "YulLiteral",
"src": "1608:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1593:3:1",
"nodeType": "YulIdentifier",
"src": "1593:3:1"
},
"nativeSrc": "1593:18:1",
"nodeType": "YulFunctionCall",
"src": "1593:18:1"
},
{
"hexValue": "6e6f742073746172746564",
"kind": "string",
"nativeSrc": "1613:13:1",
"nodeType": "YulLiteral",
"src": "1613:13:1",
"type": "",
"value": "not started"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1586:6:1",
"nodeType": "YulIdentifier",
"src": "1586:6:1"
},
"nativeSrc": "1586:41:1",
"nodeType": "YulFunctionCall",
"src": "1586:41:1"
},
"nativeSrc": "1586:41:1",
"nodeType": "YulExpressionStatement",
"src": "1586:41:1"
},
{
"nativeSrc": "1636:26:1",
"nodeType": "YulAssignment",
"src": "1636:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1648:9:1",
"nodeType": "YulIdentifier",
"src": "1648:9:1"
},
{
"kind": "number",
"nativeSrc": "1659:2:1",
"nodeType": "YulLiteral",
"src": "1659:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1644:3:1",
"nodeType": "YulIdentifier",
"src": "1644:3:1"
},
"nativeSrc": "1644:18:1",
"nodeType": "YulFunctionCall",
"src": "1644:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1636:4:1",
"nodeType": "YulIdentifier",
"src": "1636:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_e77010d1cd84746d4d55bc64a3553056b308493098e3085151b4455976f44694__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1333:335:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1484:9:1",
"nodeType": "YulTypedName",
"src": "1484:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1498:4:1",
"nodeType": "YulTypedName",
"src": "1498:4:1",
"type": ""
}
],
"src": "1333:335:1"
},
{
"body": {
"nativeSrc": "1847:154:1",
"nodeType": "YulBlock",
"src": "1847:154:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1864:9:1",
"nodeType": "YulIdentifier",
"src": "1864:9:1"
},
{
"kind": "number",
"nativeSrc": "1875:2:1",
"nodeType": "YulLiteral",
"src": "1875:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1857:6:1",
"nodeType": "YulIdentifier",
"src": "1857:6:1"
},
"nativeSrc": "1857:21:1",
"nodeType": "YulFunctionCall",
"src": "1857:21:1"
},
"nativeSrc": "1857:21:1",
"nodeType": "YulExpressionStatement",
"src": "1857:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1898:9:1",
"nodeType": "YulIdentifier",
"src": "1898:9:1"
},
{
"kind": "number",
"nativeSrc": "1909:2:1",
"nodeType": "YulLiteral",
"src": "1909:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1894:3:1",
"nodeType": "YulIdentifier",
"src": "1894:3:1"
},
"nativeSrc": "1894:18:1",
"nodeType": "YulFunctionCall",
"src": "1894:18:1"
},
{
"kind": "number",
"nativeSrc": "1914:1:1",
"nodeType": "YulLiteral",
"src": "1914:1:1",
"type": "",
"value": "5"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1887:6:1",
"nodeType": "YulIdentifier",
"src": "1887:6:1"
},
"nativeSrc": "1887:29:1",
"nodeType": "YulFunctionCall",
"src": "1887:29:1"
},
"nativeSrc": "1887:29:1",
"nodeType": "YulExpressionStatement",
"src": "1887:29:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1936:9:1",
"nodeType": "YulIdentifier",
"src": "1936:9:1"
},
{
"kind": "number",
"nativeSrc": "1947:2:1",
"nodeType": "YulLiteral",
"src": "1947:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1932:3:1",
"nodeType": "YulIdentifier",
"src": "1932:3:1"
},
"nativeSrc": "1932:18:1",
"nodeType": "YulFunctionCall",
"src": "1932:18:1"
},
{
"hexValue": "656e646564",
"kind": "string",
"nativeSrc": "1952:7:1",
"nodeType": "YulLiteral",
"src": "1952:7:1",
"type": "",
"value": "ended"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1925:6:1",
"nodeType": "YulIdentifier",
"src": "1925:6:1"
},
"nativeSrc": "1925:35:1",
"nodeType": "YulFunctionCall",
"src": "1925:35:1"
},
"nativeSrc": "1925:35:1",
"nodeType": "YulExpressionStatement",
"src": "1925:35:1"
},
{
"nativeSrc": "1969:26:1",
"nodeType": "YulAssignment",
"src": "1969:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1981:9:1",
"nodeType": "YulIdentifier",
"src": "1981:9:1"
},
{
"kind": "number",
"nativeSrc": "1992:2:1",
"nodeType": "YulLiteral",
"src": "1992:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1977:3:1",
"nodeType": "YulIdentifier",
"src": "1977:3:1"
},
"nativeSrc": "1977:18:1",
"nodeType": "YulFunctionCall",
"src": "1977:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1969:4:1",
"nodeType": "YulIdentifier",
"src": "1969:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_eda95f959a2930889a9a5ac20593327fae0cbcf35fa43e612c4ff964430edb38__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1673:328:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1824:9:1",
"nodeType": "YulTypedName",
"src": "1824:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1838:4:1",
"nodeType": "YulTypedName",
"src": "1838:4:1",
"type": ""
}
],
"src": "1673:328:1"
},
{
"body": {
"nativeSrc": "2180:165:1",
"nodeType": "YulBlock",
"src": "2180:165:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2197:9:1",
"nodeType": "YulIdentifier",
"src": "2197:9:1"
},
{
"kind": "number",
"nativeSrc": "2208:2:1",
"nodeType": "YulLiteral",
"src": "2208:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2190:6:1",
"nodeType": "YulIdentifier",
"src": "2190:6:1"
},
"nativeSrc": "2190:21:1",
"nodeType": "YulFunctionCall",
"src": "2190:21:1"
},
"nativeSrc": "2190:21:1",
"nodeType": "YulExpressionStatement",
"src": "2190:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2231:9:1",
"nodeType": "YulIdentifier",
"src": "2231:9:1"
},
{
"kind": "number",
"nativeSrc": "2242:2:1",
"nodeType": "YulLiteral",
"src": "2242:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2227:3:1",
"nodeType": "YulIdentifier",
"src": "2227:3:1"
},
"nativeSrc": "2227:18:1",
"nodeType": "YulFunctionCall",
"src": "2227:18:1"
},
{
"kind": "number",
"nativeSrc": "2247:2:1",
"nodeType": "YulLiteral",
"src": "2247:2:1",
"type": "",
"value": "15"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2220:6:1",
"nodeType": "YulIdentifier",
"src": "2220:6:1"
},
"nativeSrc": "2220:30:1",
"nodeType": "YulFunctionCall",
"src": "2220:30:1"
},
"nativeSrc": "2220:30:1",
"nodeType": "YulExpressionStatement",
"src": "2220:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2270:9:1",
"nodeType": "YulIdentifier",
"src": "2270:9:1"
},
{
"kind": "number",
"nativeSrc": "2281:2:1",
"nodeType": "YulLiteral",
"src": "2281:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2266:3:1",
"nodeType": "YulIdentifier",
"src": "2266:3:1"
},
"nativeSrc": "2266:18:1",
"nodeType": "YulFunctionCall",
"src": "2266:18:1"
},
{
"hexValue": "76616c7565203c2068696768657374",
"kind": "string",
"nativeSrc": "2286:17:1",
"nodeType": "YulLiteral",
"src": "2286:17:1",
"type": "",
"value": "value < highest"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2259:6:1",
"nodeType": "YulIdentifier",
"src": "2259:6:1"
},
"nativeSrc": "2259:45:1",
"nodeType": "YulFunctionCall",
"src": "2259:45:1"
},
"nativeSrc": "2259:45:1",
"nodeType": "YulExpressionStatement",
"src": "2259:45:1"
},
{
"nativeSrc": "2313:26:1",
"nodeType": "YulAssignment",
"src": "2313:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2325:9:1",
"nodeType": "YulIdentifier",
"src": "2325:9:1"
},
{
"kind": "number",
"nativeSrc": "2336:2:1",
"nodeType": "YulLiteral",
"src": "2336:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2321:3:1",
"nodeType": "YulIdentifier",
"src": "2321:3:1"
},
"nativeSrc": "2321:18:1",
"nodeType": "YulFunctionCall",
"src": "2321:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2313:4:1",
"nodeType": "YulIdentifier",
"src": "2313:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_31ecb7a29841498f1e28af68923574435d9e6d6fa89e8c74f09335b416bf02e6__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "2006:339:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2157:9:1",
"nodeType": "YulTypedName",
"src": "2157:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2171:4:1",
"nodeType": "YulTypedName",
"src": "2171:4:1",
"type": ""
}
],
"src": "2006:339:1"
},
{
"body": {
"nativeSrc": "2398:174:1",
"nodeType": "YulBlock",
"src": "2398:174:1",
"statements": [
{
"nativeSrc": "2408:16:1",
"nodeType": "YulAssignment",
"src": "2408:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "2419:1:1",
"nodeType": "YulIdentifier",
"src": "2419:1:1"
},
{
"name": "y",
"nativeSrc": "2422:1:1",
"nodeType": "YulIdentifier",
"src": "2422:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2415:3:1",
"nodeType": "YulIdentifier",
"src": "2415:3:1"
},
"nativeSrc": "2415:9:1",
"nodeType": "YulFunctionCall",
"src": "2415:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "2408:3:1",
"nodeType": "YulIdentifier",
"src": "2408:3:1"
}
]
},
{
"body": {
"nativeSrc": "2455:111:1",
"nodeType": "YulBlock",
"src": "2455:111:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2476:1:1",
"nodeType": "YulLiteral",
"src": "2476:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "2483:3:1",
"nodeType": "YulLiteral",
"src": "2483:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nativeSrc": "2488:10:1",
"nodeType": "YulLiteral",
"src": "2488:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "2479:3:1",
"nodeType": "YulIdentifier",
"src": "2479:3:1"
},
"nativeSrc": "2479:20:1",
"nodeType": "YulFunctionCall",
"src": "2479:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2469:6:1",
"nodeType": "YulIdentifier",
"src": "2469:6:1"
},
"nativeSrc": "2469:31:1",
"nodeType": "YulFunctionCall",
"src": "2469:31:1"
},
"nativeSrc": "2469:31:1",
"nodeType": "YulExpressionStatement",
"src": "2469:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2520:1:1",
"nodeType": "YulLiteral",
"src": "2520:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "2523:4:1",
"nodeType": "YulLiteral",
"src": "2523:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2513:6:1",
"nodeType": "YulIdentifier",
"src": "2513:6:1"
},
"nativeSrc": "2513:15:1",
"nodeType": "YulFunctionCall",
"src": "2513:15:1"
},
"nativeSrc": "2513:15:1",
"nodeType": "YulExpressionStatement",
"src": "2513:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2548:1:1",
"nodeType": "YulLiteral",
"src": "2548:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2551:4:1",
"nodeType": "YulLiteral",
"src": "2551:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2541:6:1",
"nodeType": "YulIdentifier",
"src": "2541:6:1"
},
"nativeSrc": "2541:15:1",
"nodeType": "YulFunctionCall",
"src": "2541:15:1"
},
"nativeSrc": "2541:15:1",
"nodeType": "YulExpressionStatement",
"src": "2541:15:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "2439:1:1",
"nodeType": "YulIdentifier",
"src": "2439:1:1"
},
{
"name": "sum",
"nativeSrc": "2442:3:1",
"nodeType": "YulIdentifier",
"src": "2442:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2436:2:1",
"nodeType": "YulIdentifier",
"src": "2436:2:1"
},
"nativeSrc": "2436:10:1",
"nodeType": "YulFunctionCall",
"src": "2436:10:1"
},
"nativeSrc": "2433:133:1",
"nodeType": "YulIf",
"src": "2433:133:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "2350:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "2381:1:1",
"nodeType": "YulTypedName",
"src": "2381:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "2384:1:1",
"nodeType": "YulTypedName",
"src": "2384:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "2390:3:1",
"nodeType": "YulTypedName",
"src": "2390:3:1",
"type": ""
}
],
"src": "2350:222:1"
},
{
"body": {
"nativeSrc": "2751:156:1",
"nodeType": "YulBlock",
"src": "2751:156:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2768:9:1",
"nodeType": "YulIdentifier",
"src": "2768:9:1"
},
{
"kind": "number",
"nativeSrc": "2779:2:1",
"nodeType": "YulLiteral",
"src": "2779:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2761:6:1",
"nodeType": "YulIdentifier",
"src": "2761:6:1"
},
"nativeSrc": "2761:21:1",
"nodeType": "YulFunctionCall",
"src": "2761:21:1"
},
"nativeSrc": "2761:21:1",
"nodeType": "YulExpressionStatement",
"src": "2761:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2802:9:1",
"nodeType": "YulIdentifier",
"src": "2802:9:1"
},
{
"kind": "number",
"nativeSrc": "2813:2:1",
"nodeType": "YulLiteral",
"src": "2813:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2798:3:1",
"nodeType": "YulIdentifier",
"src": "2798:3:1"
},
"nativeSrc": "2798:18:1",
"nodeType": "YulFunctionCall",
"src": "2798:18:1"
},
{
"kind": "number",
"nativeSrc": "2818:1:1",
"nodeType": "YulLiteral",
"src": "2818:1:1",
"type": "",
"value": "7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2791:6:1",
"nodeType": "YulIdentifier",
"src": "2791:6:1"
},
"nativeSrc": "2791:29:1",
"nodeType": "YulFunctionCall",
"src": "2791:29:1"
},
"nativeSrc": "2791:29:1",
"nodeType": "YulExpressionStatement",
"src": "2791:29:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2840:9:1",
"nodeType": "YulIdentifier",
"src": "2840:9:1"
},
{
"kind": "number",
"nativeSrc": "2851:2:1",
"nodeType": "YulLiteral",
"src": "2851:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2836:3:1",
"nodeType": "YulIdentifier",
"src": "2836:3:1"
},
"nativeSrc": "2836:18:1",
"nodeType": "YulFunctionCall",
"src": "2836:18:1"
},
{
"hexValue": "73746172746564",
"kind": "string",
"nativeSrc": "2856:9:1",
"nodeType": "YulLiteral",
"src": "2856:9:1",
"type": "",
"value": "started"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2829:6:1",
"nodeType": "YulIdentifier",
"src": "2829:6:1"
},
"nativeSrc": "2829:37:1",
"nodeType": "YulFunctionCall",
"src": "2829:37:1"
},
"nativeSrc": "2829:37:1",
"nodeType": "YulExpressionStatement",
"src": "2829:37:1"
},
{
"nativeSrc": "2875:26:1",
"nodeType": "YulAssignment",
"src": "2875:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2887:9:1",
"nodeType": "YulIdentifier",
"src": "2887:9:1"
},
{
"kind": "number",
"nativeSrc": "2898:2:1",
"nodeType": "YulLiteral",
"src": "2898:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2883:3:1",
"nodeType": "YulIdentifier",
"src": "2883:3:1"
},
"nativeSrc": "2883:18:1",
"nodeType": "YulFunctionCall",
"src": "2883:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2875:4:1",
"nodeType": "YulIdentifier",
"src": "2875:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_bdd2b11e12b62ec1dcb7f0672fc8eae42b5d96c951242139ad2dbc8a2569e4eb__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "2577:330:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2728:9:1",
"nodeType": "YulTypedName",
"src": "2728:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2742:4:1",
"nodeType": "YulTypedName",
"src": "2742:4:1",
"type": ""
}
],
"src": "2577:330:1"
},
{
"body": {
"nativeSrc": "3086:160:1",
"nodeType": "YulBlock",
"src": "3086:160:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3103:9:1",
"nodeType": "YulIdentifier",
"src": "3103:9:1"
},
{
"kind": "number",
"nativeSrc": "3114:2:1",
"nodeType": "YulLiteral",
"src": "3114:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3096:6:1",
"nodeType": "YulIdentifier",
"src": "3096:6:1"
},
"nativeSrc": "3096:21:1",
"nodeType": "YulFunctionCall",
"src": "3096:21:1"
},
"nativeSrc": "3096:21:1",
"nodeType": "YulExpressionStatement",
"src": "3096:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3137:9:1",
"nodeType": "YulIdentifier",
"src": "3137:9:1"
},
{
"kind": "number",
"nativeSrc": "3148:2:1",
"nodeType": "YulLiteral",
"src": "3148:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3133:3:1",
"nodeType": "YulIdentifier",
"src": "3133:3:1"
},
"nativeSrc": "3133:18:1",
"nodeType": "YulFunctionCall",
"src": "3133:18:1"
},
{
"kind": "number",
"nativeSrc": "3153:2:1",
"nodeType": "YulLiteral",
"src": "3153:2:1",
"type": "",
"value": "10"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3126:6:1",
"nodeType": "YulIdentifier",
"src": "3126:6:1"
},
"nativeSrc": "3126:30:1",
"nodeType": "YulFunctionCall",
"src": "3126:30:1"
},
"nativeSrc": "3126:30:1",
"nodeType": "YulExpressionStatement",
"src": "3126:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3176:9:1",
"nodeType": "YulIdentifier",
"src": "3176:9:1"
},
{
"kind": "number",
"nativeSrc": "3187:2:1",
"nodeType": "YulLiteral",
"src": "3187:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3172:3:1",
"nodeType": "YulIdentifier",
"src": "3172:3:1"
},
"nativeSrc": "3172:18:1",
"nodeType": "YulFunctionCall",
"src": "3172:18:1"
},
{
"hexValue": "6e6f742073656c6c6572",
"kind": "string",
"nativeSrc": "3192:12:1",
"nodeType": "YulLiteral",
"src": "3192:12:1",
"type": "",
"value": "not seller"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3165:6:1",
"nodeType": "YulIdentifier",
"src": "3165:6:1"
},
"nativeSrc": "3165:40:1",
"nodeType": "YulFunctionCall",
"src": "3165:40:1"
},
"nativeSrc": "3165:40:1",
"nodeType": "YulExpressionStatement",
"src": "3165:40:1"
},
{
"nativeSrc": "3214:26:1",
"nodeType": "YulAssignment",
"src": "3214:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3226:9:1",
"nodeType": "YulIdentifier",
"src": "3226:9:1"
},
{
"kind": "number",
"nativeSrc": "3237:2:1",
"nodeType": "YulLiteral",
"src": "3237:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3222:3:1",
"nodeType": "YulIdentifier",
"src": "3222:3:1"
},
"nativeSrc": "3222:18:1",
"nodeType": "YulFunctionCall",
"src": "3222:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3214:4:1",
"nodeType": "YulIdentifier",
"src": "3214:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_e77c4a3978235c31fbb1be138ac60a8db876003712c1b04acc56e7b9ab046577__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "2912:334:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3063:9:1",
"nodeType": "YulTypedName",
"src": "3063:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3077:4:1",
"nodeType": "YulTypedName",
"src": "3077:4:1",
"type": ""
}
],
"src": "2912:334:1"
},
{
"body": {
"nativeSrc": "3408:214:1",
"nodeType": "YulBlock",
"src": "3408:214:1",
"statements": [
{
"nativeSrc": "3418:26:1",
"nodeType": "YulAssignment",
"src": "3418:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3430:9:1",
"nodeType": "YulIdentifier",
"src": "3430:9:1"
},
{
"kind": "number",
"nativeSrc": "3441:2:1",
"nodeType": "YulLiteral",
"src": "3441:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3426:3:1",
"nodeType": "YulIdentifier",
"src": "3426:3:1"
},
"nativeSrc": "3426:18:1",
"nodeType": "YulFunctionCall",
"src": "3426:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3418:4:1",
"nodeType": "YulIdentifier",
"src": "3418:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3460:9:1",
"nodeType": "YulIdentifier",
"src": "3460:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "3475:6:1",
"nodeType": "YulIdentifier",
"src": "3475:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3491:3:1",
"nodeType": "YulLiteral",
"src": "3491:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "3496:1:1",
"nodeType": "YulLiteral",
"src": "3496:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "3487:3:1",
"nodeType": "YulIdentifier",
"src": "3487:3:1"
},
"nativeSrc": "3487:11:1",
"nodeType": "YulFunctionCall",
"src": "3487:11:1"
},
{
"kind": "number",
"nativeSrc": "3500:1:1",
"nodeType": "YulLiteral",
"src": "3500:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3483:3:1",
"nodeType": "YulIdentifier",
"src": "3483:3:1"
},
"nativeSrc": "3483:19:1",
"nodeType": "YulFunctionCall",
"src": "3483:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3471:3:1",
"nodeType": "YulIdentifier",
"src": "3471:3:1"
},
"nativeSrc": "3471:32:1",
"nodeType": "YulFunctionCall",
"src": "3471:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3453:6:1",
"nodeType": "YulIdentifier",
"src": "3453:6:1"
},
"nativeSrc": "3453:51:1",
"nodeType": "YulFunctionCall",
"src": "3453:51:1"
},
"nativeSrc": "3453:51:1",
"nodeType": "YulExpressionStatement",
"src": "3453:51:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3524:9:1",
"nodeType": "YulIdentifier",
"src": "3524:9:1"
},
{
"kind": "number",
"nativeSrc": "3535:2:1",
"nodeType": "YulLiteral",
"src": "3535:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3520:3:1",
"nodeType": "YulIdentifier",
"src": "3520:3:1"
},
"nativeSrc": "3520:18:1",
"nodeType": "YulFunctionCall",
"src": "3520:18:1"
},
{
"arguments": [
{
"name": "value1",
"nativeSrc": "3544:6:1",
"nodeType": "YulIdentifier",
"src": "3544:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3560:3:1",
"nodeType": "YulLiteral",
"src": "3560:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "3565:1:1",
"nodeType": "YulLiteral",
"src": "3565:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "3556:3:1",
"nodeType": "YulIdentifier",
"src": "3556:3:1"
},
"nativeSrc": "3556:11:1",
"nodeType": "YulFunctionCall",
"src": "3556:11:1"
},
{
"kind": "number",
"nativeSrc": "3569:1:1",
"nodeType": "YulLiteral",
"src": "3569:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3552:3:1",
"nodeType": "YulIdentifier",
"src": "3552:3:1"
},
"nativeSrc": "3552:19:1",
"nodeType": "YulFunctionCall",
"src": "3552:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3540:3:1",
"nodeType": "YulIdentifier",
"src": "3540:3:1"
},
"nativeSrc": "3540:32:1",
"nodeType": "YulFunctionCall",
"src": "3540:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3513:6:1",
"nodeType": "YulIdentifier",
"src": "3513:6:1"
},
"nativeSrc": "3513:60:1",
"nodeType": "YulFunctionCall",
"src": "3513:60:1"
},
"nativeSrc": "3513:60:1",
"nodeType": "YulExpressionStatement",
"src": "3513:60:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3593:9:1",
"nodeType": "YulIdentifier",
"src": "3593:9:1"
},
{
"kind": "number",
"nativeSrc": "3604:2:1",
"nodeType": "YulLiteral",
"src": "3604:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3589:3:1",
"nodeType": "YulIdentifier",
"src": "3589:3:1"
},
"nativeSrc": "3589:18:1",
"nodeType": "YulFunctionCall",
"src": "3589:18:1"
},
{
"name": "value2",
"nativeSrc": "3609:6:1",
"nodeType": "YulIdentifier",
"src": "3609:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3582:6:1",
"nodeType": "YulIdentifier",
"src": "3582:6:1"
},
"nativeSrc": "3582:34:1",
"nodeType": "YulFunctionCall",
"src": "3582:34:1"
},
"nativeSrc": "3582:34:1",
"nodeType": "YulExpressionStatement",
"src": "3582:34:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nativeSrc": "3251:371:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3361:9:1",
"nodeType": "YulTypedName",
"src": "3361:9:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3372:6:1",
"nodeType": "YulTypedName",
"src": "3372:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3380:6:1",
"nodeType": "YulTypedName",
"src": "3380:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3388:6:1",
"nodeType": "YulTypedName",
"src": "3388:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3399:4:1",
"nodeType": "YulTypedName",
"src": "3399:4:1",
"type": ""
}
],
"src": "3251:371:1"
}
]
},
"contents": "{\n { }\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_IERC721_$20__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_e77010d1cd84746d4d55bc64a3553056b308493098e3085151b4455976f44694__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"not started\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_eda95f959a2930889a9a5ac20593327fae0cbcf35fa43e612c4ff964430edb38__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 5)\n mstore(add(headStart, 64), \"ended\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_31ecb7a29841498f1e28af68923574435d9e6d6fa89e8c74f09335b416bf02e6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"value < highest\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_bdd2b11e12b62ec1dcb7f0672fc8eae42b5d96c951242139ad2dbc8a2569e4eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 7)\n mstore(add(headStart, 64), \"started\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e77c4a3978235c31fbb1be138ac60a8db876003712c1b04acc56e7b9ab046577__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"not seller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), value2)\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061009a575f3560e01c806362ea82db1161006257806362ea82db146101495780637cc3ae8c1461018257806391f9015714610197578063be9a6555146101bc578063c6bc5182146101d0578063d57bde79146101e5575f5ffd5b806308551a531461009e57806312fa6feb146100da5780631998aeef146101085780631f2698ab1461011257806347ccca021461012b575b5f5ffd5b3480156100a9575f5ffd5b506002546100bd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100e5575f5ffd5b506004546100f890610100900460ff1681565b60405190151581526020016100d1565b6101106101fa565b005b34801561011d575f5ffd5b506004546100f89060ff1681565b348015610136575f5ffd5b505f546100bd906001600160a01b031681565b348015610154575f5ffd5b50610174610163366004610497565b60066020525f908152604090205481565b6040519081526020016100d1565b34801561018d575f5ffd5b5061017460035481565b3480156101a2575f5ffd5b506004546100bd906201000090046001600160a01b031681565b3480156101c7575f5ffd5b50610110610363565b3480156101db575f5ffd5b5061017460015481565b3480156101f0575f5ffd5b5061017460055481565b60045460ff1661023f5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd081cdd185c9d195960aa1b60448201526064015b60405180910390fd5b60035442106102785760405162461bcd60e51b8152602060048201526005602482015264195b99195960da1b6044820152606401610236565b60055434116102bb5760405162461bcd60e51b815260206004820152600f60248201526e1d985b1d59480f081a1a59da195cdd608a1b6044820152606401610236565b6004546201000090046001600160a01b03161561030a576005546004546201000090046001600160a01b03165f90815260066020526040812080549091906103049084906104c4565b90915550505b6004805462010000600160b01b03191633620100008102919091179091553460058190556040519081527fe684a55f31b79eca403df938249029212a5925ec6be8012e099b45bc1019e5d29060200160405180910390a2565b60045460ff16156103a05760405162461bcd60e51b81526020600482015260076024820152661cdd185c9d195960ca1b6044820152606401610236565b6002546001600160a01b031633146103e75760405162461bcd60e51b815260206004820152600a6024820152693737ba1039b2b63632b960b11b6044820152606401610236565b5f546001546040516323b872dd60e01b815233600482015230602482015260448101919091526001600160a01b03909116906323b872dd906064015f604051808303815f87803b158015610439575f5ffd5b505af115801561044b573d5f5f3e3d5ffd5b50506004805460ff191660011790555061046a90504262093a806104c4565b6003556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b905f90a1565b5f602082840312156104a7575f5ffd5b81356001600160a01b03811681146104bd575f5ffd5b9392505050565b808201808211156104e357634e487b7160e01b5f52601160045260245ffd5b9291505056fea26469706673582212209aaafe22137a0e8c9f9e0b130f7c6031250edfbb79f53a814b16e57695ef70a364736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x62EA82DB GT PUSH2 0x62 JUMPI DUP1 PUSH4 0x62EA82DB EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x7CC3AE8C EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0x91F90157 EQ PUSH2 0x197 JUMPI DUP1 PUSH4 0xBE9A6555 EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0xC6BC5182 EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xD57BDE79 EQ PUSH2 0x1E5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP1 PUSH4 0x8551A53 EQ PUSH2 0x9E JUMPI DUP1 PUSH4 0x12FA6FEB EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x1998AEEF EQ PUSH2 0x108 JUMPI DUP1 PUSH4 0x1F2698AB EQ PUSH2 0x112 JUMPI DUP1 PUSH4 0x47CCCA02 EQ PUSH2 0x12B JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0xBD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xF8 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD1 JUMP JUMPDEST PUSH2 0x110 PUSH2 0x1FA JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11D JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xF8 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH0 SLOAD PUSH2 0xBD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x154 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH2 0x163 CALLDATASIZE PUSH1 0x4 PUSH2 0x497 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE PUSH0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18D JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A2 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xBD SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x363 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DB JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F0 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x174 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND PUSH2 0x23F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x1B9BDD081CDD185C9D1959 PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD TIMESTAMP LT PUSH2 0x278 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x5 PUSH1 0x24 DUP3 ADD MSTORE PUSH5 0x195B991959 PUSH1 0xDA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH1 0x5 SLOAD CALLVALUE GT PUSH2 0x2BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x1D985B1D59480F081A1A59DA195CDD PUSH1 0x8A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x30A JUMPI PUSH1 0x5 SLOAD PUSH1 0x4 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x304 SWAP1 DUP5 SWAP1 PUSH2 0x4C4 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT AND CALLER PUSH3 0x10000 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE CALLVALUE PUSH1 0x5 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xE684A55F31B79ECA403DF938249029212A5925EC6BE8012E099B45BC1019E5D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3A0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x1CDD185C9D1959 PUSH1 0xCA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3E7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x3737BA1039B2B63632B9 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x236 JUMP JUMPDEST PUSH0 SLOAD PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x439 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x44B JUMPI RETURNDATASIZE PUSH0 PUSH0 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE POP PUSH2 0x46A SWAP1 POP TIMESTAMP PUSH3 0x93A80 PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x3 SSTORE PUSH1 0x40 MLOAD PUSH32 0x1B55BA3AA851A46BE3B365AEE5B5C140EDD620D578922F3E8466D2CBD96F954B SWAP1 PUSH0 SWAP1 LOG1 JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4BD JUMPI PUSH0 PUSH0 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x4E3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 0xAA INVALID 0x22 SGT PUSH27 0xE8C9F9E0B130F7C6031250EDFBB79F53A814B16E57695EF70A364 PUSH20 0x6F6C634300081E00330000000000000000000000 ",
"sourceMap": "278:1376:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;529:29;;;;;;;;;;-1:-1:-1;529:29:0;;;;-1:-1:-1;;;;;529:29:0;;;;;;-1:-1:-1;;;;;194:32:1;;;176:51;;164:2;149:18;529:29:0;;;;;;;;612:17;;;;;;;;;;-1:-1:-1;612:17:0;;;;;;;;;;;;;;403:14:1;;396:22;378:41;;366:2;351:18;612:17:0;238:187:1;1249:403:0;;;:::i;:::-;;587:19;;;;;;;;;;-1:-1:-1;587:19:0;;;;;;;;481:18;;;;;;;;;;-1:-1:-1;481:18:0;;;;-1:-1:-1;;;;;481:18:0;;;698:36;;;;;;;;;;-1:-1:-1;698:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1089:25:1;;;1077:2;1062:18;698:36:0;943:177:1;564:17:0;;;;;;;;;;;;;;;;636:28;;;;;;;;;;-1:-1:-1;636:28:0;;;;;;;-1:-1:-1;;;;;636:28:0;;;969:274;;;;;;;;;;;;;:::i;505:17::-;;;;;;;;;;;;;;;;670:22;;;;;;;;;;;;;;;;1249:403;1299:7;;;;1291:31;;;;-1:-1:-1;;;1291:31:0;;1535:2:1;1291:31:0;;;1517:21:1;1574:2;1554:18;;;1547:30;-1:-1:-1;;;1593:18:1;;;1586:41;1644:18;;1291:31:0;;;;;;;;;1358:5;;1340:15;:23;1332:41;;;;-1:-1:-1;;;1332:41:0;;1875:2:1;1332:41:0;;;1857:21:1;1914:1;1894:18;;;1887:29;-1:-1:-1;;;1932:18:1;;;1925:35;1977:18;;1332:41:0;1673:328:1;1332:41:0;1403:10;;1391:9;:22;1383:50;;;;-1:-1:-1;;;1383:50:0;;2208:2:1;1383:50:0;;;2190:21:1;2247:2;2227:18;;;2220:30;-1:-1:-1;;;2266:18:1;;;2259:45;2321:18;;1383:50:0;2006:339:1;1383:50:0;1448:13;;;;;-1:-1:-1;;;;;1448:13:0;:27;1444:91;;1514:10;;1496:13;;;;;-1:-1:-1;;;;;1496:13:0;1491:19;;;;:4;:19;;;;;:33;;:19;;;:33;;1514:10;;1491:33;:::i;:::-;;;;-1:-1:-1;;1444:91:0;1545:13;:26;;-1:-1:-1;;;;;;1545:26:0;1561:10;1545:26;;;;;;;;;;1594:9;1581:10;:22;;;1619:26;;1089:25:1;;;1619:26:0;;1077:2:1;1062:18;1619:26:0;;;;;;;1249:403::o;969:274::-;1014:7;;;;1013:8;1005:28;;;;-1:-1:-1;;;1005:28:0;;2779:2:1;1005:28:0;;;2761:21:1;2818:1;2798:18;;;2791:29;-1:-1:-1;;;2836:18:1;;;2829:37;2883:18;;1005:28:0;2577:330:1;1005:28:0;1065:6;;-1:-1:-1;;;;;1065:6:0;1051:10;:20;1043:43;;;;-1:-1:-1;;;1043:43:0;;3114:2:1;1043:43:0;;;3096:21:1;3153:2;3133:18;;;3126:30;-1:-1:-1;;;3172:18:1;;;3165:40;3222:18;;1043:43:0;2912:334:1;1043:43:0;1097:3;;;1141:5;1097:50;;-1:-1:-1;;;1097:50:0;;1114:10;1097:50;;;3453:51:1;1134:4:0;3520:18:1;;;3513:60;3589:18;;;3582:34;;;;-1:-1:-1;;;;;1097:3:0;;;;:16;;3426:18:1;;1097:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1157:7:0;:14;;-1:-1:-1;;1157:14:0;1167:4;1157:14;;;-1:-1:-1;1189:24:0;;-1:-1:-1;1189:15:0;1207:6;1189:24;:::i;:::-;1181:5;:32;1229:7;;;;;;;969:274::o;652:286:1:-;711:6;764:2;752:9;743:7;739:23;735:32;732:52;;;780:1;777;770:12;732:52;806:23;;-1:-1:-1;;;;;858:31:1;;848:42;;838:70;;904:1;901;894:12;838:70;927:5;652:286;-1:-1:-1;;;652:286:1:o;2350:222::-;2415:9;;;2436:10;;;2433:133;;;2488:10;2483:3;2479:20;2476:1;2469:31;2523:4;2520:1;2513:15;2551:4;2548:1;2541:15;2433:133;2350:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "262200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"bid()": "85084",
"bids(address)": "2481",
"endAt()": "2316",
"ended()": "2343",
"highestBid()": "2404",
"highestBidder()": "2380",
"nft()": "2413",
"nftId()": "2382",
"seller()": "2326",
"start()": "infinite",
"started()": "2376"
}
},
"methodIdentifiers": {
"bid()": "1998aeef",
"bids(address)": "62ea82db",
"endAt()": "7cc3ae8c",
"ended()": "12fa6feb",
"highestBid()": "d57bde79",
"highestBidder()": "91f90157",
"nft()": "47ccca02",
"nftId()": "c6bc5182",
"seller()": "08551a53",
"start()": "be9a6555",
"started()": "1f2698ab"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_nft",
"type": "address"
},
{
"internalType": "uint256",
"name": "_nftId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_startingBid",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Bid",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "winner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "End",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Start",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "bidder",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Withdraw",
"type": "event"
},
{
"inputs": [],
"name": "bid",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bids",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "endAt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ended",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "highestBid",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "highestBidder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nft",
"outputs": [
{
"internalType": "contract IERC721",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nftId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "seller",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "start",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "started",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_nft",
"type": "address"
},
{
"internalType": "uint256",
"name": "_nftId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_startingBid",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Bid",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "winner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "End",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Start",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "bidder",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Withdraw",
"type": "event"
},
{
"inputs": [],
"name": "bid",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bids",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "endAt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ended",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "highestBid",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "highestBidder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nft",
"outputs": [
{
"internalType": "contract IERC721",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nftId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "seller",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "start",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "started",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/Start and Bid Functions/auctionContractStartBid.sol": "EnglishAuction"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/Start and Bid Functions/auctionContractStartBid.sol": {
"keccak256": "0x510369dcabcf854e77463a8fbd9b6e5dc631faa76191d26233cc1a130a5b6282",
"license": "MIT",
"urls": [
"bzz-raw://fce499eb3b18f667356416a079911fd3338753e716d414646528f4d5b7e8940b",
"dweb:/ipfs/QmVKEajWXXWqeUJifpfrPdF7XHE5TQ6gxhczttMpqJyzYp"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_17": {
"entryPoint": null,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052600a6001553480156013575f5ffd5b505f80546001600160a01b031916331790556102c8806100325f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630c55699c146100595780633a9ebefd146100755780638da5cb5b1461008a578063a6f9dae1146100b4578063cf309012146100c7575b5f5ffd5b61006260015481565b6040519081526020015b60405180910390f35b610088610083366004610229565b6100e4565b005b5f5461009c906001600160a01b031681565b6040516001600160a01b03909116815260200161006c565b6100886100c2366004610240565b610177565b6002546100d49060ff1681565b604051901515815260200161006c565b60025460ff161561012c5760405162461bcd60e51b815260206004820152600d60248201526c4e6f207265656e7472616e637960981b60448201526064015b60405180910390fd5b6002805460ff1916600190811790915580548291905f9061014e90849061026d565b9091555050600181111561016a5761016a61008360018361026d565b506002805460ff19169055565b5f546001600160a01b031633146101bc5760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610123565b806001600160a01b0381166102075760405162461bcd60e51b81526020600482015260116024820152704e6f742076616c6964206164647265737360781b6044820152606401610123565b505f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f60208284031215610239575f5ffd5b5035919050565b5f60208284031215610250575f5ffd5b81356001600160a01b0381168114610266575f5ffd5b9392505050565b8181038181111561028c57634e487b7160e01b5f52601160045260245ffd5b9291505056fea2646970667358221220c494ca27687e3c42f00ab48fadacc0314196c68f710afc55cd542d8c91d63ffb64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH1 0x13 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x2C8 DUP1 PUSH2 0x32 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC55699C EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x3A9EBEFD EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0xA6F9DAE1 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xCF309012 EQ PUSH2 0xC7 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x62 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x83 CALLDATASIZE PUSH1 0x4 PUSH2 0x229 JUMP JUMPDEST PUSH2 0xE4 JUMP JUMPDEST STOP JUMPDEST PUSH0 SLOAD PUSH2 0x9C SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x6C JUMP JUMPDEST PUSH2 0x88 PUSH2 0xC2 CALLDATASIZE PUSH1 0x4 PUSH2 0x240 JUMP JUMPDEST PUSH2 0x177 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0xD4 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x6C JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x12C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x4E6F207265656E7472616E6379 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP1 SLOAD DUP3 SWAP2 SWAP1 PUSH0 SWAP1 PUSH2 0x14E SWAP1 DUP5 SWAP1 PUSH2 0x26D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16A JUMPI PUSH2 0x16A PUSH2 0x83 PUSH1 0x1 DUP4 PUSH2 0x26D JUMP JUMPDEST POP PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2737BA1037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x123 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x207 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x4E6F742076616C69642061646472657373 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x123 JUMP JUMPDEST POP PUSH0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x239 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x250 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x266 JUMPI PUSH0 PUSH0 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x28C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 SWAP5 0xCA 0x27 PUSH9 0x7E3C42F00AB48FADAC 0xC0 BALANCE COINBASE SWAP7 0xC6 DUP16 PUSH18 0xAFC55CD542D8C91D63FFB64736F6C634300 ADDMOD 0x1E STOP CALLER ",
"sourceMap": "57:1430:0:-:0;;;210:2;194:18;;243:117;;;;;;;;;-1:-1:-1;335:5:0;:18;;-1:-1:-1;;;;;;335:18:0;343:10;335:18;;;57:1430;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@changeOwner_60": {
"entryPoint": 375,
"id": 60,
"parameterSlots": 1,
"returnSlots": 0
},
"@decrement_101": {
"entryPoint": 228,
"id": 101,
"parameterSlots": 1,
"returnSlots": 0
},
"@locked_8": {
"entryPoint": null,
"id": 8,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_3": {
"entryPoint": null,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@x_6": {
"entryPoint": null,
"id": 6,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_tuple_t_address": {
"entryPoint": 576,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 553,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_36eebddbf802e1cdcddad2b477585a755cd53423db8d0d8f4151b4fa07952290__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_d17f111d8107180607ed86ffb77564df19875349979563d887311241874db137__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 621,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2324:1",
"nodeType": "YulBlock",
"src": "0:2324:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "115:76:1",
"nodeType": "YulBlock",
"src": "115:76:1",
"statements": [
{
"nativeSrc": "125:26:1",
"nodeType": "YulAssignment",
"src": "125:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "137:9:1",
"nodeType": "YulIdentifier",
"src": "137:9:1"
},
{
"kind": "number",
"nativeSrc": "148:2:1",
"nodeType": "YulLiteral",
"src": "148:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "133:3:1",
"nodeType": "YulIdentifier",
"src": "133:3:1"
},
"nativeSrc": "133:18:1",
"nodeType": "YulFunctionCall",
"src": "133:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "125:4:1",
"nodeType": "YulIdentifier",
"src": "125:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "167:9:1",
"nodeType": "YulIdentifier",
"src": "167:9:1"
},
{
"name": "value0",
"nativeSrc": "178:6:1",
"nodeType": "YulIdentifier",
"src": "178:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "160:6:1",
"nodeType": "YulIdentifier",
"src": "160:6:1"
},
"nativeSrc": "160:25:1",
"nodeType": "YulFunctionCall",
"src": "160:25:1"
},
"nativeSrc": "160:25:1",
"nodeType": "YulExpressionStatement",
"src": "160:25:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "14:177:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "84:9:1",
"nodeType": "YulTypedName",
"src": "84:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "95:6:1",
"nodeType": "YulTypedName",
"src": "95:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "106:4:1",
"nodeType": "YulTypedName",
"src": "106:4:1",
"type": ""
}
],
"src": "14:177:1"
},
{
"body": {
"nativeSrc": "266:110:1",
"nodeType": "YulBlock",
"src": "266:110:1",
"statements": [
{
"body": {
"nativeSrc": "312:16:1",
"nodeType": "YulBlock",
"src": "312:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "321:1:1",
"nodeType": "YulLiteral",
"src": "321:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "324:1:1",
"nodeType": "YulLiteral",
"src": "324:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "314:6:1",
"nodeType": "YulIdentifier",
"src": "314:6:1"
},
"nativeSrc": "314:12:1",
"nodeType": "YulFunctionCall",
"src": "314:12:1"
},
"nativeSrc": "314:12:1",
"nodeType": "YulExpressionStatement",
"src": "314:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "287:7:1",
"nodeType": "YulIdentifier",
"src": "287:7:1"
},
{
"name": "headStart",
"nativeSrc": "296:9:1",
"nodeType": "YulIdentifier",
"src": "296:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "283:3:1",
"nodeType": "YulIdentifier",
"src": "283:3:1"
},
"nativeSrc": "283:23:1",
"nodeType": "YulFunctionCall",
"src": "283:23:1"
},
{
"kind": "number",
"nativeSrc": "308:2:1",
"nodeType": "YulLiteral",
"src": "308:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "279:3:1",
"nodeType": "YulIdentifier",
"src": "279:3:1"
},
"nativeSrc": "279:32:1",
"nodeType": "YulFunctionCall",
"src": "279:32:1"
},
"nativeSrc": "276:52:1",
"nodeType": "YulIf",
"src": "276:52:1"
},
{
"nativeSrc": "337:33:1",
"nodeType": "YulAssignment",
"src": "337:33:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "360:9:1",
"nodeType": "YulIdentifier",
"src": "360:9:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "347:12:1",
"nodeType": "YulIdentifier",
"src": "347:12:1"
},
"nativeSrc": "347:23:1",
"nodeType": "YulFunctionCall",
"src": "347:23:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "337:6:1",
"nodeType": "YulIdentifier",
"src": "337:6:1"
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "196:180:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "232:9:1",
"nodeType": "YulTypedName",
"src": "232:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "243:7:1",
"nodeType": "YulTypedName",
"src": "243:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "255:6:1",
"nodeType": "YulTypedName",
"src": "255:6:1",
"type": ""
}
],
"src": "196:180:1"
},
{
"body": {
"nativeSrc": "482:102:1",
"nodeType": "YulBlock",
"src": "482:102:1",
"statements": [
{
"nativeSrc": "492:26:1",
"nodeType": "YulAssignment",
"src": "492:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "504:9:1",
"nodeType": "YulIdentifier",
"src": "504:9:1"
},
{
"kind": "number",
"nativeSrc": "515:2:1",
"nodeType": "YulLiteral",
"src": "515:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "500:3:1",
"nodeType": "YulIdentifier",
"src": "500:3:1"
},
"nativeSrc": "500:18:1",
"nodeType": "YulFunctionCall",
"src": "500:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "492:4:1",
"nodeType": "YulIdentifier",
"src": "492:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "534:9:1",
"nodeType": "YulIdentifier",
"src": "534:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "549:6:1",
"nodeType": "YulIdentifier",
"src": "549:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "565:3:1",
"nodeType": "YulLiteral",
"src": "565:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "570:1:1",
"nodeType": "YulLiteral",
"src": "570:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "561:3:1",
"nodeType": "YulIdentifier",
"src": "561:3:1"
},
"nativeSrc": "561:11:1",
"nodeType": "YulFunctionCall",
"src": "561:11:1"
},
{
"kind": "number",
"nativeSrc": "574:1:1",
"nodeType": "YulLiteral",
"src": "574:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "557:3:1",
"nodeType": "YulIdentifier",
"src": "557:3:1"
},
"nativeSrc": "557:19:1",
"nodeType": "YulFunctionCall",
"src": "557:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "545:3:1",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nativeSrc": "545:32:1",
"nodeType": "YulFunctionCall",
"src": "545:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "527:6:1",
"nodeType": "YulIdentifier",
"src": "527:6:1"
},
"nativeSrc": "527:51:1",
"nodeType": "YulFunctionCall",
"src": "527:51:1"
},
"nativeSrc": "527:51:1",
"nodeType": "YulExpressionStatement",
"src": "527:51:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "381:203:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "451:9:1",
"nodeType": "YulTypedName",
"src": "451:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "462:6:1",
"nodeType": "YulTypedName",
"src": "462:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "473:4:1",
"nodeType": "YulTypedName",
"src": "473:4:1",
"type": ""
}
],
"src": "381:203:1"
},
{
"body": {
"nativeSrc": "659:216:1",
"nodeType": "YulBlock",
"src": "659:216:1",
"statements": [
{
"body": {
"nativeSrc": "705:16:1",
"nodeType": "YulBlock",
"src": "705:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "714:1:1",
"nodeType": "YulLiteral",
"src": "714:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "717:1:1",
"nodeType": "YulLiteral",
"src": "717:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "707:6:1",
"nodeType": "YulIdentifier",
"src": "707:6:1"
},
"nativeSrc": "707:12:1",
"nodeType": "YulFunctionCall",
"src": "707:12:1"
},
"nativeSrc": "707:12:1",
"nodeType": "YulExpressionStatement",
"src": "707:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "680:7:1",
"nodeType": "YulIdentifier",
"src": "680:7:1"
},
{
"name": "headStart",
"nativeSrc": "689:9:1",
"nodeType": "YulIdentifier",
"src": "689:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "676:3:1",
"nodeType": "YulIdentifier",
"src": "676:3:1"
},
"nativeSrc": "676:23:1",
"nodeType": "YulFunctionCall",
"src": "676:23:1"
},
{
"kind": "number",
"nativeSrc": "701:2:1",
"nodeType": "YulLiteral",
"src": "701:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "672:3:1",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nativeSrc": "672:32:1",
"nodeType": "YulFunctionCall",
"src": "672:32:1"
},
"nativeSrc": "669:52:1",
"nodeType": "YulIf",
"src": "669:52:1"
},
{
"nativeSrc": "730:36:1",
"nodeType": "YulVariableDeclaration",
"src": "730:36:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "756:9:1",
"nodeType": "YulIdentifier",
"src": "756:9:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "743:12:1",
"nodeType": "YulIdentifier",
"src": "743:12:1"
},
"nativeSrc": "743:23:1",
"nodeType": "YulFunctionCall",
"src": "743:23:1"
},
"variables": [
{
"name": "value",
"nativeSrc": "734:5:1",
"nodeType": "YulTypedName",
"src": "734:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "829:16:1",
"nodeType": "YulBlock",
"src": "829:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "838:1:1",
"nodeType": "YulLiteral",
"src": "838:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "841:1:1",
"nodeType": "YulLiteral",
"src": "841:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "831:6:1",
"nodeType": "YulIdentifier",
"src": "831:6:1"
},
"nativeSrc": "831:12:1",
"nodeType": "YulFunctionCall",
"src": "831:12:1"
},
"nativeSrc": "831:12:1",
"nodeType": "YulExpressionStatement",
"src": "831:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "788:5:1",
"nodeType": "YulIdentifier",
"src": "788:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "799:5:1",
"nodeType": "YulIdentifier",
"src": "799:5:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "814:3:1",
"nodeType": "YulLiteral",
"src": "814:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "819:1:1",
"nodeType": "YulLiteral",
"src": "819:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "810:3:1",
"nodeType": "YulIdentifier",
"src": "810:3:1"
},
"nativeSrc": "810:11:1",
"nodeType": "YulFunctionCall",
"src": "810:11:1"
},
{
"kind": "number",
"nativeSrc": "823:1:1",
"nodeType": "YulLiteral",
"src": "823:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "806:3:1",
"nodeType": "YulIdentifier",
"src": "806:3:1"
},
"nativeSrc": "806:19:1",
"nodeType": "YulFunctionCall",
"src": "806:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "795:3:1",
"nodeType": "YulIdentifier",
"src": "795:3:1"
},
"nativeSrc": "795:31:1",
"nodeType": "YulFunctionCall",
"src": "795:31:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "785:2:1",
"nodeType": "YulIdentifier",
"src": "785:2:1"
},
"nativeSrc": "785:42:1",
"nodeType": "YulFunctionCall",
"src": "785:42:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "778:6:1",
"nodeType": "YulIdentifier",
"src": "778:6:1"
},
"nativeSrc": "778:50:1",
"nodeType": "YulFunctionCall",
"src": "778:50:1"
},
"nativeSrc": "775:70:1",
"nodeType": "YulIf",
"src": "775:70:1"
},
{
"nativeSrc": "854:15:1",
"nodeType": "YulAssignment",
"src": "854:15:1",
"value": {
"name": "value",
"nativeSrc": "864:5:1",
"nodeType": "YulIdentifier",
"src": "864:5:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "854:6:1",
"nodeType": "YulIdentifier",
"src": "854:6:1"
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "589:286:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "625:9:1",
"nodeType": "YulTypedName",
"src": "625:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "636:7:1",
"nodeType": "YulTypedName",
"src": "636:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "648:6:1",
"nodeType": "YulTypedName",
"src": "648:6:1",
"type": ""
}
],
"src": "589:286:1"
},
{
"body": {
"nativeSrc": "975:92:1",
"nodeType": "YulBlock",
"src": "975:92:1",
"statements": [
{
"nativeSrc": "985:26:1",
"nodeType": "YulAssignment",
"src": "985:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "997:9:1",
"nodeType": "YulIdentifier",
"src": "997:9:1"
},
{
"kind": "number",
"nativeSrc": "1008:2:1",
"nodeType": "YulLiteral",
"src": "1008:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "993:3:1",
"nodeType": "YulIdentifier",
"src": "993:3:1"
},
"nativeSrc": "993:18:1",
"nodeType": "YulFunctionCall",
"src": "993:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "985:4:1",
"nodeType": "YulIdentifier",
"src": "985:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1027:9:1",
"nodeType": "YulIdentifier",
"src": "1027:9:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value0",
"nativeSrc": "1052:6:1",
"nodeType": "YulIdentifier",
"src": "1052:6:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1045:6:1",
"nodeType": "YulIdentifier",
"src": "1045:6:1"
},
"nativeSrc": "1045:14:1",
"nodeType": "YulFunctionCall",
"src": "1045:14:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1038:6:1",
"nodeType": "YulIdentifier",
"src": "1038:6:1"
},
"nativeSrc": "1038:22:1",
"nodeType": "YulFunctionCall",
"src": "1038:22:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1020:6:1",
"nodeType": "YulIdentifier",
"src": "1020:6:1"
},
"nativeSrc": "1020:41:1",
"nodeType": "YulFunctionCall",
"src": "1020:41:1"
},
"nativeSrc": "1020:41:1",
"nodeType": "YulExpressionStatement",
"src": "1020:41:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "880:187:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "944:9:1",
"nodeType": "YulTypedName",
"src": "944:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "955:6:1",
"nodeType": "YulTypedName",
"src": "955:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "966:4:1",
"nodeType": "YulTypedName",
"src": "966:4:1",
"type": ""
}
],
"src": "880:187:1"
},
{
"body": {
"nativeSrc": "1246:163:1",
"nodeType": "YulBlock",
"src": "1246:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1263:9:1",
"nodeType": "YulIdentifier",
"src": "1263:9:1"
},
{
"kind": "number",
"nativeSrc": "1274:2:1",
"nodeType": "YulLiteral",
"src": "1274:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1256:6:1",
"nodeType": "YulIdentifier",
"src": "1256:6:1"
},
"nativeSrc": "1256:21:1",
"nodeType": "YulFunctionCall",
"src": "1256:21:1"
},
"nativeSrc": "1256:21:1",
"nodeType": "YulExpressionStatement",
"src": "1256:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1297:9:1",
"nodeType": "YulIdentifier",
"src": "1297:9:1"
},
{
"kind": "number",
"nativeSrc": "1308:2:1",
"nodeType": "YulLiteral",
"src": "1308:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1293:3:1",
"nodeType": "YulIdentifier",
"src": "1293:3:1"
},
"nativeSrc": "1293:18:1",
"nodeType": "YulFunctionCall",
"src": "1293:18:1"
},
{
"kind": "number",
"nativeSrc": "1313:2:1",
"nodeType": "YulLiteral",
"src": "1313:2:1",
"type": "",
"value": "13"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1286:6:1",
"nodeType": "YulIdentifier",
"src": "1286:6:1"
},
"nativeSrc": "1286:30:1",
"nodeType": "YulFunctionCall",
"src": "1286:30:1"
},
"nativeSrc": "1286:30:1",
"nodeType": "YulExpressionStatement",
"src": "1286:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1336:9:1",
"nodeType": "YulIdentifier",
"src": "1336:9:1"
},
{
"kind": "number",
"nativeSrc": "1347:2:1",
"nodeType": "YulLiteral",
"src": "1347:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1332:3:1",
"nodeType": "YulIdentifier",
"src": "1332:3:1"
},
"nativeSrc": "1332:18:1",
"nodeType": "YulFunctionCall",
"src": "1332:18:1"
},
{
"hexValue": "4e6f207265656e7472616e6379",
"kind": "string",
"nativeSrc": "1352:15:1",
"nodeType": "YulLiteral",
"src": "1352:15:1",
"type": "",
"value": "No reentrancy"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1325:6:1",
"nodeType": "YulIdentifier",
"src": "1325:6:1"
},
"nativeSrc": "1325:43:1",
"nodeType": "YulFunctionCall",
"src": "1325:43:1"
},
"nativeSrc": "1325:43:1",
"nodeType": "YulExpressionStatement",
"src": "1325:43:1"
},
{
"nativeSrc": "1377:26:1",
"nodeType": "YulAssignment",
"src": "1377:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1389:9:1",
"nodeType": "YulIdentifier",
"src": "1389:9:1"
},
{
"kind": "number",
"nativeSrc": "1400:2:1",
"nodeType": "YulLiteral",
"src": "1400:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1385:3:1",
"nodeType": "YulIdentifier",
"src": "1385:3:1"
},
"nativeSrc": "1385:18:1",
"nodeType": "YulFunctionCall",
"src": "1385:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1377:4:1",
"nodeType": "YulIdentifier",
"src": "1377:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_36eebddbf802e1cdcddad2b477585a755cd53423db8d0d8f4151b4fa07952290__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1072:337:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1223:9:1",
"nodeType": "YulTypedName",
"src": "1223:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1237:4:1",
"nodeType": "YulTypedName",
"src": "1237:4:1",
"type": ""
}
],
"src": "1072:337:1"
},
{
"body": {
"nativeSrc": "1463:176:1",
"nodeType": "YulBlock",
"src": "1463:176:1",
"statements": [
{
"nativeSrc": "1473:17:1",
"nodeType": "YulAssignment",
"src": "1473:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1485:1:1",
"nodeType": "YulIdentifier",
"src": "1485:1:1"
},
{
"name": "y",
"nativeSrc": "1488:1:1",
"nodeType": "YulIdentifier",
"src": "1488:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1481:3:1",
"nodeType": "YulIdentifier",
"src": "1481:3:1"
},
"nativeSrc": "1481:9:1",
"nodeType": "YulFunctionCall",
"src": "1481:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "1473:4:1",
"nodeType": "YulIdentifier",
"src": "1473:4:1"
}
]
},
{
"body": {
"nativeSrc": "1522:111:1",
"nodeType": "YulBlock",
"src": "1522:111:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1543:1:1",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1550:3:1",
"nodeType": "YulLiteral",
"src": "1550:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nativeSrc": "1555:10:1",
"nodeType": "YulLiteral",
"src": "1555:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1546:3:1",
"nodeType": "YulIdentifier",
"src": "1546:3:1"
},
"nativeSrc": "1546:20:1",
"nodeType": "YulFunctionCall",
"src": "1546:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1536:6:1",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nativeSrc": "1536:31:1",
"nodeType": "YulFunctionCall",
"src": "1536:31:1"
},
"nativeSrc": "1536:31:1",
"nodeType": "YulExpressionStatement",
"src": "1536:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1587:1:1",
"nodeType": "YulLiteral",
"src": "1587:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1590:4:1",
"nodeType": "YulLiteral",
"src": "1590:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1580:6:1",
"nodeType": "YulIdentifier",
"src": "1580:6:1"
},
"nativeSrc": "1580:15:1",
"nodeType": "YulFunctionCall",
"src": "1580:15:1"
},
"nativeSrc": "1580:15:1",
"nodeType": "YulExpressionStatement",
"src": "1580:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1615:1:1",
"nodeType": "YulLiteral",
"src": "1615:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1618:4:1",
"nodeType": "YulLiteral",
"src": "1618:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1608:6:1",
"nodeType": "YulIdentifier",
"src": "1608:6:1"
},
"nativeSrc": "1608:15:1",
"nodeType": "YulFunctionCall",
"src": "1608:15:1"
},
"nativeSrc": "1608:15:1",
"nodeType": "YulExpressionStatement",
"src": "1608:15:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "1505:4:1",
"nodeType": "YulIdentifier",
"src": "1505:4:1"
},
{
"name": "x",
"nativeSrc": "1511:1:1",
"nodeType": "YulIdentifier",
"src": "1511:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1502:2:1",
"nodeType": "YulIdentifier",
"src": "1502:2:1"
},
"nativeSrc": "1502:11:1",
"nodeType": "YulFunctionCall",
"src": "1502:11:1"
},
"nativeSrc": "1499:134:1",
"nodeType": "YulIf",
"src": "1499:134:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "1414:225:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1445:1:1",
"nodeType": "YulTypedName",
"src": "1445:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1448:1:1",
"nodeType": "YulTypedName",
"src": "1448:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "1454:4:1",
"nodeType": "YulTypedName",
"src": "1454:4:1",
"type": ""
}
],
"src": "1414:225:1"
},
{
"body": {
"nativeSrc": "1818:158:1",
"nodeType": "YulBlock",
"src": "1818:158:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1835:9:1",
"nodeType": "YulIdentifier",
"src": "1835:9:1"
},
{
"kind": "number",
"nativeSrc": "1846:2:1",
"nodeType": "YulLiteral",
"src": "1846:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1828:6:1",
"nodeType": "YulIdentifier",
"src": "1828:6:1"
},
"nativeSrc": "1828:21:1",
"nodeType": "YulFunctionCall",
"src": "1828:21:1"
},
"nativeSrc": "1828:21:1",
"nodeType": "YulExpressionStatement",
"src": "1828:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1869:9:1",
"nodeType": "YulIdentifier",
"src": "1869:9:1"
},
{
"kind": "number",
"nativeSrc": "1880:2:1",
"nodeType": "YulLiteral",
"src": "1880:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1865:3:1",
"nodeType": "YulIdentifier",
"src": "1865:3:1"
},
"nativeSrc": "1865:18:1",
"nodeType": "YulFunctionCall",
"src": "1865:18:1"
},
{
"kind": "number",
"nativeSrc": "1885:1:1",
"nodeType": "YulLiteral",
"src": "1885:1:1",
"type": "",
"value": "9"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1858:6:1",
"nodeType": "YulIdentifier",
"src": "1858:6:1"
},
"nativeSrc": "1858:29:1",
"nodeType": "YulFunctionCall",
"src": "1858:29:1"
},
"nativeSrc": "1858:29:1",
"nodeType": "YulExpressionStatement",
"src": "1858:29:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1907:9:1",
"nodeType": "YulIdentifier",
"src": "1907:9:1"
},
{
"kind": "number",
"nativeSrc": "1918:2:1",
"nodeType": "YulLiteral",
"src": "1918:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1903:3:1",
"nodeType": "YulIdentifier",
"src": "1903:3:1"
},
"nativeSrc": "1903:18:1",
"nodeType": "YulFunctionCall",
"src": "1903:18:1"
},
{
"hexValue": "4e6f74206f776e6572",
"kind": "string",
"nativeSrc": "1923:11:1",
"nodeType": "YulLiteral",
"src": "1923:11:1",
"type": "",
"value": "Not owner"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1896:6:1",
"nodeType": "YulIdentifier",
"src": "1896:6:1"
},
"nativeSrc": "1896:39:1",
"nodeType": "YulFunctionCall",
"src": "1896:39:1"
},
"nativeSrc": "1896:39:1",
"nodeType": "YulExpressionStatement",
"src": "1896:39:1"
},
{
"nativeSrc": "1944:26:1",
"nodeType": "YulAssignment",
"src": "1944:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1956:9:1",
"nodeType": "YulIdentifier",
"src": "1956:9:1"
},
{
"kind": "number",
"nativeSrc": "1967:2:1",
"nodeType": "YulLiteral",
"src": "1967:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1952:3:1",
"nodeType": "YulIdentifier",
"src": "1952:3:1"
},
"nativeSrc": "1952:18:1",
"nodeType": "YulFunctionCall",
"src": "1952:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1944:4:1",
"nodeType": "YulIdentifier",
"src": "1944:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1644:332:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1795:9:1",
"nodeType": "YulTypedName",
"src": "1795:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1809:4:1",
"nodeType": "YulTypedName",
"src": "1809:4:1",
"type": ""
}
],
"src": "1644:332:1"
},
{
"body": {
"nativeSrc": "2155:167:1",
"nodeType": "YulBlock",
"src": "2155:167:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2172:9:1",
"nodeType": "YulIdentifier",
"src": "2172:9:1"
},
{
"kind": "number",
"nativeSrc": "2183:2:1",
"nodeType": "YulLiteral",
"src": "2183:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2165:6:1",
"nodeType": "YulIdentifier",
"src": "2165:6:1"
},
"nativeSrc": "2165:21:1",
"nodeType": "YulFunctionCall",
"src": "2165:21:1"
},
"nativeSrc": "2165:21:1",
"nodeType": "YulExpressionStatement",
"src": "2165:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2206:9:1",
"nodeType": "YulIdentifier",
"src": "2206:9:1"
},
{
"kind": "number",
"nativeSrc": "2217:2:1",
"nodeType": "YulLiteral",
"src": "2217:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2202:3:1",
"nodeType": "YulIdentifier",
"src": "2202:3:1"
},
"nativeSrc": "2202:18:1",
"nodeType": "YulFunctionCall",
"src": "2202:18:1"
},
{
"kind": "number",
"nativeSrc": "2222:2:1",
"nodeType": "YulLiteral",
"src": "2222:2:1",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2195:6:1",
"nodeType": "YulIdentifier",
"src": "2195:6:1"
},
"nativeSrc": "2195:30:1",
"nodeType": "YulFunctionCall",
"src": "2195:30:1"
},
"nativeSrc": "2195:30:1",
"nodeType": "YulExpressionStatement",
"src": "2195:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2245:9:1",
"nodeType": "YulIdentifier",
"src": "2245:9:1"
},
{
"kind": "number",
"nativeSrc": "2256:2:1",
"nodeType": "YulLiteral",
"src": "2256:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2241:3:1",
"nodeType": "YulIdentifier",
"src": "2241:3:1"
},
"nativeSrc": "2241:18:1",
"nodeType": "YulFunctionCall",
"src": "2241:18:1"
},
{
"hexValue": "4e6f742076616c69642061646472657373",
"kind": "string",
"nativeSrc": "2261:19:1",
"nodeType": "YulLiteral",
"src": "2261:19:1",
"type": "",
"value": "Not valid address"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2234:6:1",
"nodeType": "YulIdentifier",
"src": "2234:6:1"
},
"nativeSrc": "2234:47:1",
"nodeType": "YulFunctionCall",
"src": "2234:47:1"
},
"nativeSrc": "2234:47:1",
"nodeType": "YulExpressionStatement",
"src": "2234:47:1"
},
{
"nativeSrc": "2290:26:1",
"nodeType": "YulAssignment",
"src": "2290:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2302:9:1",
"nodeType": "YulIdentifier",
"src": "2302:9:1"
},
{
"kind": "number",
"nativeSrc": "2313:2:1",
"nodeType": "YulLiteral",
"src": "2313:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2298:3:1",
"nodeType": "YulIdentifier",
"src": "2298:3:1"
},
"nativeSrc": "2298:18:1",
"nodeType": "YulFunctionCall",
"src": "2298:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2290:4:1",
"nodeType": "YulIdentifier",
"src": "2290:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_d17f111d8107180607ed86ffb77564df19875349979563d887311241874db137__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1981:341:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2132:9:1",
"nodeType": "YulTypedName",
"src": "2132:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2146:4:1",
"nodeType": "YulTypedName",
"src": "2146:4:1",
"type": ""
}
],
"src": "1981:341:1"
}
]
},
"contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_stringliteral_36eebddbf802e1cdcddad2b477585a755cd53423db8d0d8f4151b4fa07952290__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"No reentrancy\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"Not owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d17f111d8107180607ed86ffb77564df19875349979563d887311241874db137__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Not valid address\")\n tail := add(headStart, 96)\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630c55699c146100595780633a9ebefd146100755780638da5cb5b1461008a578063a6f9dae1146100b4578063cf309012146100c7575b5f5ffd5b61006260015481565b6040519081526020015b60405180910390f35b610088610083366004610229565b6100e4565b005b5f5461009c906001600160a01b031681565b6040516001600160a01b03909116815260200161006c565b6100886100c2366004610240565b610177565b6002546100d49060ff1681565b604051901515815260200161006c565b60025460ff161561012c5760405162461bcd60e51b815260206004820152600d60248201526c4e6f207265656e7472616e637960981b60448201526064015b60405180910390fd5b6002805460ff1916600190811790915580548291905f9061014e90849061026d565b9091555050600181111561016a5761016a61008360018361026d565b506002805460ff19169055565b5f546001600160a01b031633146101bc5760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610123565b806001600160a01b0381166102075760405162461bcd60e51b81526020600482015260116024820152704e6f742076616c6964206164647265737360781b6044820152606401610123565b505f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f60208284031215610239575f5ffd5b5035919050565b5f60208284031215610250575f5ffd5b81356001600160a01b0381168114610266575f5ffd5b9392505050565b8181038181111561028c57634e487b7160e01b5f52601160045260245ffd5b9291505056fea2646970667358221220c494ca27687e3c42f00ab48fadacc0314196c68f710afc55cd542d8c91d63ffb64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC55699C EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x3A9EBEFD EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0xA6F9DAE1 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xCF309012 EQ PUSH2 0xC7 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x62 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x83 CALLDATASIZE PUSH1 0x4 PUSH2 0x229 JUMP JUMPDEST PUSH2 0xE4 JUMP JUMPDEST STOP JUMPDEST PUSH0 SLOAD PUSH2 0x9C SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x6C JUMP JUMPDEST PUSH2 0x88 PUSH2 0xC2 CALLDATASIZE PUSH1 0x4 PUSH2 0x240 JUMP JUMPDEST PUSH2 0x177 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0xD4 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x6C JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x12C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x4E6F207265656E7472616E6379 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP1 SLOAD DUP3 SWAP2 SWAP1 PUSH0 SWAP1 PUSH2 0x14E SWAP1 DUP5 SWAP1 PUSH2 0x26D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16A JUMPI PUSH2 0x16A PUSH2 0x83 PUSH1 0x1 DUP4 PUSH2 0x26D JUMP JUMPDEST POP PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2737BA1037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x123 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x207 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x4E6F742076616C69642061646472657373 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x123 JUMP JUMPDEST POP PUSH0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x239 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x250 JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x266 JUMPI PUSH0 PUSH0 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x28C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 SWAP5 0xCA 0x27 PUSH9 0x7E3C42F00AB48FADAC 0xC0 BALANCE COINBASE SWAP7 0xC6 DUP16 PUSH18 0xAFC55CD542D8C91D63FFB64736F6C634300 ADDMOD 0x1E STOP CALLER ",
"sourceMap": "57:1430:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;194:18;;;;;;;;;160:25:1;;;148:2;133:18;194::0;;;;;;;;1353:132;;;;;;:::i;:::-;;:::i;:::-;;168:20;;;;;-1:-1:-1;;;;;168:20:0;;;;;;-1:-1:-1;;;;;545:32:1;;;527:51;;515:2;500:18;168:20:0;381:203:1;933:115:0;;;;;;:::i;:::-;;:::i;218:18::-;;;;;;;;;;;;1045:14:1;;1038:22;1020:41;;1008:2;993:18;218::0;880:187:1;1353:132:0;1257:6;;;;1256:7;1248:33;;;;-1:-1:-1;;;1248:33:0;;1274:2:1;1248:33:0;;;1256:21:1;1313:2;1293:18;;;1286:30;-1:-1:-1;;;1332:18:1;;;1325:43;1385:18;;1248:33:0;;;;;;;;;1292:6;:13;;-1:-1:-1;;1292:13:0;1301:4;1292:13;;;;;;1410:6;;1415:1;;1301:4;1292:6;;1410::::1;::::0;1415:1;;1410:6:::1;:::i;:::-;::::0;;;-1:-1:-1;;1435:1:0::1;1431:5:::0;::::1;1427:52;;;1452:16;1462:5;1466:1;1462::::0;:5:::1;:::i;1452:16::-;-1:-1:-1::0;1326:6:0;:14;;-1:-1:-1;;1326:14:0;;;1353:132::o;933:115::-;497:5;;-1:-1:-1;;;;;497:5:0;483:10;:19;475:41;;;;-1:-1:-1;;;475:41:0;;1846:2:1;475:41:0;;;1828:21:1;1885:1;1865:18;;;1858:29;-1:-1:-1;;;1903:18:1;;;1896:39;1952:18;;475:41:0;1644:332:1;475:41:0;1003:9;-1:-1:-1;;;;;868:19:0;::::1;860:49;;;::::0;-1:-1:-1;;;860:49:0;;2183:2:1;860:49:0::1;::::0;::::1;2165:21:1::0;2222:2;2202:18;;;2195:30;-1:-1:-1;;;2241:18:1;;;2234:47;2298:18;;860:49:0::1;1981:341:1::0;860:49:0::1;-1:-1:-1::0;1024:5:0::2;:17:::0;;-1:-1:-1;;;;;;1024:17:0::2;-1:-1:-1::0;;;;;1024:17:0;;;::::2;::::0;;;::::2;::::0;;933:115::o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;589:286::-;648:6;701:2;689:9;680:7;676:23;672:32;669:52;;;717:1;714;707:12;669:52;743:23;;-1:-1:-1;;;;;795:31:1;;785:42;;775:70;;841:1;838;831:12;775:70;864:5;589:286;-1:-1:-1;;;589:286:1:o;1414:225::-;1481:9;;;1502:11;;;1499:134;;;1555:10;1550:3;1546:20;1543:1;1536:31;1590:4;1587:1;1580:15;1618:4;1615:1;1608:15;1499:134;1414:225;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "142400",
"executionCost": "46528",
"totalCost": "188928"
},
"external": {
"changeOwner(address)": "26756",
"decrement(uint256)": "infinite",
"locked()": "2375",
"owner()": "2357",
"x()": "2261"
}
},
"methodIdentifiers": {
"changeOwner(address)": "a6f9dae1",
"decrement(uint256)": "3a9ebefd",
"locked()": "cf309012",
"owner()": "8da5cb5b",
"x()": "0c55699c"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newOwner",
"type": "address"
}
],
"name": "changeOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "locked",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newOwner",
"type": "address"
}
],
"name": "changeOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "locked",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/5.3 Functions - Modifiers and Constructors/modifiersAndConstructors.sol": "FunctionModifier"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/5.3 Functions - Modifiers and Constructors/modifiersAndConstructors.sol": {
"keccak256": "0x7939f32b86fbb587215512f0755e9c3df61d9b4e985a73b70bd26438f6f529ee",
"license": "MIT",
"urls": [
"bzz-raw://4aaadc6f07581bf8639db38fc71a04aa2f8f134a5602b771e5e4bf9ce98a679b",
"dweb:/ipfs/Qmd8tLJNWypUia3EeeY8uiLr4zayMc1Shu1U2soHcxQ7Yu"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"array_dataslot_string_storage": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_string_storage": {
"entryPoint": 136,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 212,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 80,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x41": {
"entryPoint": 60,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2652:1",
"nodeType": "YulBlock",
"src": "0:2652:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "46:95:1",
"nodeType": "YulBlock",
"src": "46:95:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "63:1:1",
"nodeType": "YulLiteral",
"src": "63:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "70:3:1",
"nodeType": "YulLiteral",
"src": "70:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nativeSrc": "75:10:1",
"nodeType": "YulLiteral",
"src": "75:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "66:3:1",
"nodeType": "YulIdentifier",
"src": "66:3:1"
},
"nativeSrc": "66:20:1",
"nodeType": "YulFunctionCall",
"src": "66:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "56:6:1",
"nodeType": "YulIdentifier",
"src": "56:6:1"
},
"nativeSrc": "56:31:1",
"nodeType": "YulFunctionCall",
"src": "56:31:1"
},
"nativeSrc": "56:31:1",
"nodeType": "YulExpressionStatement",
"src": "56:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "103:1:1",
"nodeType": "YulLiteral",
"src": "103:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "106:4:1",
"nodeType": "YulLiteral",
"src": "106:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "96:6:1",
"nodeType": "YulIdentifier",
"src": "96:6:1"
},
"nativeSrc": "96:15:1",
"nodeType": "YulFunctionCall",
"src": "96:15:1"
},
"nativeSrc": "96:15:1",
"nodeType": "YulExpressionStatement",
"src": "96:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "127:1:1",
"nodeType": "YulLiteral",
"src": "127:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "130:4:1",
"nodeType": "YulLiteral",
"src": "130:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "120:6:1",
"nodeType": "YulIdentifier",
"src": "120:6:1"
},
"nativeSrc": "120:15:1",
"nodeType": "YulFunctionCall",
"src": "120:15:1"
},
"nativeSrc": "120:15:1",
"nodeType": "YulExpressionStatement",
"src": "120:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "14:127:1",
"nodeType": "YulFunctionDefinition",
"src": "14:127:1"
},
{
"body": {
"nativeSrc": "201:325:1",
"nodeType": "YulBlock",
"src": "201:325:1",
"statements": [
{
"nativeSrc": "211:22:1",
"nodeType": "YulAssignment",
"src": "211:22:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "225:1:1",
"nodeType": "YulLiteral",
"src": "225:1:1",
"type": "",
"value": "1"
},
{
"name": "data",
"nativeSrc": "228:4:1",
"nodeType": "YulIdentifier",
"src": "228:4:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "221:3:1",
"nodeType": "YulIdentifier",
"src": "221:3:1"
},
"nativeSrc": "221:12:1",
"nodeType": "YulFunctionCall",
"src": "221:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "211:6:1",
"nodeType": "YulIdentifier",
"src": "211:6:1"
}
]
},
{
"nativeSrc": "242:38:1",
"nodeType": "YulVariableDeclaration",
"src": "242:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "272:4:1",
"nodeType": "YulIdentifier",
"src": "272:4:1"
},
{
"kind": "number",
"nativeSrc": "278:1:1",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "268:3:1",
"nodeType": "YulIdentifier",
"src": "268:3:1"
},
"nativeSrc": "268:12:1",
"nodeType": "YulFunctionCall",
"src": "268:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "246:18:1",
"nodeType": "YulTypedName",
"src": "246:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "319:31:1",
"nodeType": "YulBlock",
"src": "319:31:1",
"statements": [
{
"nativeSrc": "321:27:1",
"nodeType": "YulAssignment",
"src": "321:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "335:6:1",
"nodeType": "YulIdentifier",
"src": "335:6:1"
},
{
"kind": "number",
"nativeSrc": "343:4:1",
"nodeType": "YulLiteral",
"src": "343:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "331:3:1",
"nodeType": "YulIdentifier",
"src": "331:3:1"
},
"nativeSrc": "331:17:1",
"nodeType": "YulFunctionCall",
"src": "331:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "321:6:1",
"nodeType": "YulIdentifier",
"src": "321:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "299:18:1",
"nodeType": "YulIdentifier",
"src": "299:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "292:6:1",
"nodeType": "YulIdentifier",
"src": "292:6:1"
},
"nativeSrc": "292:26:1",
"nodeType": "YulFunctionCall",
"src": "292:26:1"
},
"nativeSrc": "289:61:1",
"nodeType": "YulIf",
"src": "289:61:1"
},
{
"body": {
"nativeSrc": "409:111:1",
"nodeType": "YulBlock",
"src": "409:111:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "430:1:1",
"nodeType": "YulLiteral",
"src": "430:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "437:3:1",
"nodeType": "YulLiteral",
"src": "437:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nativeSrc": "442:10:1",
"nodeType": "YulLiteral",
"src": "442:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "433:3:1",
"nodeType": "YulIdentifier",
"src": "433:3:1"
},
"nativeSrc": "433:20:1",
"nodeType": "YulFunctionCall",
"src": "433:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "423:6:1",
"nodeType": "YulIdentifier",
"src": "423:6:1"
},
"nativeSrc": "423:31:1",
"nodeType": "YulFunctionCall",
"src": "423:31:1"
},
"nativeSrc": "423:31:1",
"nodeType": "YulExpressionStatement",
"src": "423:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "474:1:1",
"nodeType": "YulLiteral",
"src": "474:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "477:4:1",
"nodeType": "YulLiteral",
"src": "477:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "467:6:1",
"nodeType": "YulIdentifier",
"src": "467:6:1"
},
"nativeSrc": "467:15:1",
"nodeType": "YulFunctionCall",
"src": "467:15:1"
},
"nativeSrc": "467:15:1",
"nodeType": "YulExpressionStatement",
"src": "467:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "502:1:1",
"nodeType": "YulLiteral",
"src": "502:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "505:4:1",
"nodeType": "YulLiteral",
"src": "505:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "495:6:1",
"nodeType": "YulIdentifier",
"src": "495:6:1"
},
"nativeSrc": "495:15:1",
"nodeType": "YulFunctionCall",
"src": "495:15:1"
},
"nativeSrc": "495:15:1",
"nodeType": "YulExpressionStatement",
"src": "495:15:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "365:18:1",
"nodeType": "YulIdentifier",
"src": "365:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "388:6:1",
"nodeType": "YulIdentifier",
"src": "388:6:1"
},
{
"kind": "number",
"nativeSrc": "396:2:1",
"nodeType": "YulLiteral",
"src": "396:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "385:2:1",
"nodeType": "YulIdentifier",
"src": "385:2:1"
},
"nativeSrc": "385:14:1",
"nodeType": "YulFunctionCall",
"src": "385:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "362:2:1",
"nodeType": "YulIdentifier",
"src": "362:2:1"
},
"nativeSrc": "362:38:1",
"nodeType": "YulFunctionCall",
"src": "362:38:1"
},
"nativeSrc": "359:161:1",
"nodeType": "YulIf",
"src": "359:161:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "146:380:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "181:4:1",
"nodeType": "YulTypedName",
"src": "181:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "190:6:1",
"nodeType": "YulTypedName",
"src": "190:6:1",
"type": ""
}
],
"src": "146:380:1"
},
{
"body": {
"nativeSrc": "587:65:1",
"nodeType": "YulBlock",
"src": "587:65:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "604:1:1",
"nodeType": "YulLiteral",
"src": "604:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "607:3:1",
"nodeType": "YulIdentifier",
"src": "607:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "597:6:1",
"nodeType": "YulIdentifier",
"src": "597:6:1"
},
"nativeSrc": "597:14:1",
"nodeType": "YulFunctionCall",
"src": "597:14:1"
},
"nativeSrc": "597:14:1",
"nodeType": "YulExpressionStatement",
"src": "597:14:1"
},
{
"nativeSrc": "620:26:1",
"nodeType": "YulAssignment",
"src": "620:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "638:1:1",
"nodeType": "YulLiteral",
"src": "638:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "641:4:1",
"nodeType": "YulLiteral",
"src": "641:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "628:9:1",
"nodeType": "YulIdentifier",
"src": "628:9:1"
},
"nativeSrc": "628:18:1",
"nodeType": "YulFunctionCall",
"src": "628:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "620:4:1",
"nodeType": "YulIdentifier",
"src": "620:4:1"
}
]
}
]
},
"name": "array_dataslot_string_storage",
"nativeSrc": "531:121:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "570:3:1",
"nodeType": "YulTypedName",
"src": "570:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "578:4:1",
"nodeType": "YulTypedName",
"src": "578:4:1",
"type": ""
}
],
"src": "531:121:1"
},
{
"body": {
"nativeSrc": "738:437:1",
"nodeType": "YulBlock",
"src": "738:437:1",
"statements": [
{
"body": {
"nativeSrc": "771:398:1",
"nodeType": "YulBlock",
"src": "771:398:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "792:1:1",
"nodeType": "YulLiteral",
"src": "792:1:1",
"type": "",
"value": "0"
},
{
"name": "array",
"nativeSrc": "795:5:1",
"nodeType": "YulIdentifier",
"src": "795:5:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "785:6:1",
"nodeType": "YulIdentifier",
"src": "785:6:1"
},
"nativeSrc": "785:16:1",
"nodeType": "YulFunctionCall",
"src": "785:16:1"
},
"nativeSrc": "785:16:1",
"nodeType": "YulExpressionStatement",
"src": "785:16:1"
},
{
"nativeSrc": "814:30:1",
"nodeType": "YulVariableDeclaration",
"src": "814:30:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "836:1:1",
"nodeType": "YulLiteral",
"src": "836:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "839:4:1",
"nodeType": "YulLiteral",
"src": "839:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "826:9:1",
"nodeType": "YulIdentifier",
"src": "826:9:1"
},
"nativeSrc": "826:18:1",
"nodeType": "YulFunctionCall",
"src": "826:18:1"
},
"variables": [
{
"name": "data",
"nativeSrc": "818:4:1",
"nodeType": "YulTypedName",
"src": "818:4:1",
"type": ""
}
]
},
{
"nativeSrc": "857:57:1",
"nodeType": "YulVariableDeclaration",
"src": "857:57:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "880:4:1",
"nodeType": "YulIdentifier",
"src": "880:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "890:1:1",
"nodeType": "YulLiteral",
"src": "890:1:1",
"type": "",
"value": "5"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "897:10:1",
"nodeType": "YulIdentifier",
"src": "897:10:1"
},
{
"kind": "number",
"nativeSrc": "909:2:1",
"nodeType": "YulLiteral",
"src": "909:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "893:3:1",
"nodeType": "YulIdentifier",
"src": "893:3:1"
},
"nativeSrc": "893:19:1",
"nodeType": "YulFunctionCall",
"src": "893:19:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "886:3:1",
"nodeType": "YulIdentifier",
"src": "886:3:1"
},
"nativeSrc": "886:27:1",
"nodeType": "YulFunctionCall",
"src": "886:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "876:3:1",
"nodeType": "YulIdentifier",
"src": "876:3:1"
},
"nativeSrc": "876:38:1",
"nodeType": "YulFunctionCall",
"src": "876:38:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "861:11:1",
"nodeType": "YulTypedName",
"src": "861:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "951:23:1",
"nodeType": "YulBlock",
"src": "951:23:1",
"statements": [
{
"nativeSrc": "953:19:1",
"nodeType": "YulAssignment",
"src": "953:19:1",
"value": {
"name": "data",
"nativeSrc": "968:4:1",
"nodeType": "YulIdentifier",
"src": "968:4:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "953:11:1",
"nodeType": "YulIdentifier",
"src": "953:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "933:10:1",
"nodeType": "YulIdentifier",
"src": "933:10:1"
},
{
"kind": "number",
"nativeSrc": "945:4:1",
"nodeType": "YulLiteral",
"src": "945:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "930:2:1",
"nodeType": "YulIdentifier",
"src": "930:2:1"
},
"nativeSrc": "930:20:1",
"nodeType": "YulFunctionCall",
"src": "930:20:1"
},
"nativeSrc": "927:47:1",
"nodeType": "YulIf",
"src": "927:47:1"
},
{
"nativeSrc": "987:41:1",
"nodeType": "YulVariableDeclaration",
"src": "987:41:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1001:4:1",
"nodeType": "YulIdentifier",
"src": "1001:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1011:1:1",
"nodeType": "YulLiteral",
"src": "1011:1:1",
"type": "",
"value": "5"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "1018:3:1",
"nodeType": "YulIdentifier",
"src": "1018:3:1"
},
{
"kind": "number",
"nativeSrc": "1023:2:1",
"nodeType": "YulLiteral",
"src": "1023:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1014:3:1",
"nodeType": "YulIdentifier",
"src": "1014:3:1"
},
"nativeSrc": "1014:12:1",
"nodeType": "YulFunctionCall",
"src": "1014:12:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "1007:3:1",
"nodeType": "YulIdentifier",
"src": "1007:3:1"
},
"nativeSrc": "1007:20:1",
"nodeType": "YulFunctionCall",
"src": "1007:20:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "997:3:1",
"nodeType": "YulIdentifier",
"src": "997:3:1"
},
"nativeSrc": "997:31:1",
"nodeType": "YulFunctionCall",
"src": "997:31:1"
},
"variables": [
{
"name": "_1",
"nativeSrc": "991:2:1",
"nodeType": "YulTypedName",
"src": "991:2:1",
"type": ""
}
]
},
{
"nativeSrc": "1041:24:1",
"nodeType": "YulVariableDeclaration",
"src": "1041:24:1",
"value": {
"name": "deleteStart",
"nativeSrc": "1054:11:1",
"nodeType": "YulIdentifier",
"src": "1054:11:1"
},
"variables": [
{
"name": "start",
"nativeSrc": "1045:5:1",
"nodeType": "YulTypedName",
"src": "1045:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1139:20:1",
"nodeType": "YulBlock",
"src": "1139:20:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "1148:5:1",
"nodeType": "YulIdentifier",
"src": "1148:5:1"
},
{
"kind": "number",
"nativeSrc": "1155:1:1",
"nodeType": "YulLiteral",
"src": "1155:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "1141:6:1",
"nodeType": "YulIdentifier",
"src": "1141:6:1"
},
"nativeSrc": "1141:16:1",
"nodeType": "YulFunctionCall",
"src": "1141:16:1"
},
"nativeSrc": "1141:16:1",
"nodeType": "YulExpressionStatement",
"src": "1141:16:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "1089:5:1",
"nodeType": "YulIdentifier",
"src": "1089:5:1"
},
{
"name": "_1",
"nativeSrc": "1096:2:1",
"nodeType": "YulIdentifier",
"src": "1096:2:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1086:2:1",
"nodeType": "YulIdentifier",
"src": "1086:2:1"
},
"nativeSrc": "1086:13:1",
"nodeType": "YulFunctionCall",
"src": "1086:13:1"
},
"nativeSrc": "1078:81:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "1100:26:1",
"nodeType": "YulBlock",
"src": "1100:26:1",
"statements": [
{
"nativeSrc": "1102:22:1",
"nodeType": "YulAssignment",
"src": "1102:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "1115:5:1",
"nodeType": "YulIdentifier",
"src": "1115:5:1"
},
{
"kind": "number",
"nativeSrc": "1122:1:1",
"nodeType": "YulLiteral",
"src": "1122:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1111:3:1",
"nodeType": "YulIdentifier",
"src": "1111:3:1"
},
"nativeSrc": "1111:13:1",
"nodeType": "YulFunctionCall",
"src": "1111:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "1102:5:1",
"nodeType": "YulIdentifier",
"src": "1102:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "1082:3:1",
"nodeType": "YulBlock",
"src": "1082:3:1",
"statements": []
},
"src": "1078:81:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "754:3:1",
"nodeType": "YulIdentifier",
"src": "754:3:1"
},
{
"kind": "number",
"nativeSrc": "759:2:1",
"nodeType": "YulLiteral",
"src": "759:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "751:2:1",
"nodeType": "YulIdentifier",
"src": "751:2:1"
},
"nativeSrc": "751:11:1",
"nodeType": "YulFunctionCall",
"src": "751:11:1"
},
"nativeSrc": "748:421:1",
"nodeType": "YulIf",
"src": "748:421:1"
}
]
},
"name": "clean_up_bytearray_end_slots_string_storage",
"nativeSrc": "657:518:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "710:5:1",
"nodeType": "YulTypedName",
"src": "710:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "717:3:1",
"nodeType": "YulTypedName",
"src": "717:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "722:10:1",
"nodeType": "YulTypedName",
"src": "722:10:1",
"type": ""
}
],
"src": "657:518:1"
},
{
"body": {
"nativeSrc": "1265:81:1",
"nodeType": "YulBlock",
"src": "1265:81:1",
"statements": [
{
"nativeSrc": "1275:65:1",
"nodeType": "YulAssignment",
"src": "1275:65:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "data",
"nativeSrc": "1290:4:1",
"nodeType": "YulIdentifier",
"src": "1290:4:1"
},
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1308:1:1",
"nodeType": "YulLiteral",
"src": "1308:1:1",
"type": "",
"value": "3"
},
{
"name": "len",
"nativeSrc": "1311:3:1",
"nodeType": "YulIdentifier",
"src": "1311:3:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1304:3:1",
"nodeType": "YulIdentifier",
"src": "1304:3:1"
},
"nativeSrc": "1304:11:1",
"nodeType": "YulFunctionCall",
"src": "1304:11:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1321:1:1",
"nodeType": "YulLiteral",
"src": "1321:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1317:3:1",
"nodeType": "YulIdentifier",
"src": "1317:3:1"
},
"nativeSrc": "1317:6:1",
"nodeType": "YulFunctionCall",
"src": "1317:6:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "1300:3:1",
"nodeType": "YulIdentifier",
"src": "1300:3:1"
},
"nativeSrc": "1300:24:1",
"nodeType": "YulFunctionCall",
"src": "1300:24:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1296:3:1",
"nodeType": "YulIdentifier",
"src": "1296:3:1"
},
"nativeSrc": "1296:29:1",
"nodeType": "YulFunctionCall",
"src": "1296:29:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1286:3:1",
"nodeType": "YulIdentifier",
"src": "1286:3:1"
},
"nativeSrc": "1286:40:1",
"nodeType": "YulFunctionCall",
"src": "1286:40:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1332:1:1",
"nodeType": "YulLiteral",
"src": "1332:1:1",
"type": "",
"value": "1"
},
{
"name": "len",
"nativeSrc": "1335:3:1",
"nodeType": "YulIdentifier",
"src": "1335:3:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1328:3:1",
"nodeType": "YulIdentifier",
"src": "1328:3:1"
},
"nativeSrc": "1328:11:1",
"nodeType": "YulFunctionCall",
"src": "1328:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1283:2:1",
"nodeType": "YulIdentifier",
"src": "1283:2:1"
},
"nativeSrc": "1283:57:1",
"nodeType": "YulFunctionCall",
"src": "1283:57:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "1275:4:1",
"nodeType": "YulIdentifier",
"src": "1275:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "1180:166:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "1242:4:1",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "1248:3:1",
"nodeType": "YulTypedName",
"src": "1248:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "1256:4:1",
"nodeType": "YulTypedName",
"src": "1256:4:1",
"type": ""
}
],
"src": "1180:166:1"
},
{
"body": {
"nativeSrc": "1447:1203:1",
"nodeType": "YulBlock",
"src": "1447:1203:1",
"statements": [
{
"nativeSrc": "1457:24:1",
"nodeType": "YulVariableDeclaration",
"src": "1457:24:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "1477:3:1",
"nodeType": "YulIdentifier",
"src": "1477:3:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1471:5:1",
"nodeType": "YulIdentifier",
"src": "1471:5:1"
},
"nativeSrc": "1471:10:1",
"nodeType": "YulFunctionCall",
"src": "1471:10:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "1461:6:1",
"nodeType": "YulTypedName",
"src": "1461:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1524:22:1",
"nodeType": "YulBlock",
"src": "1524:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1526:16:1",
"nodeType": "YulIdentifier",
"src": "1526:16:1"
},
"nativeSrc": "1526:18:1",
"nodeType": "YulFunctionCall",
"src": "1526:18:1"
},
"nativeSrc": "1526:18:1",
"nodeType": "YulExpressionStatement",
"src": "1526:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "1496:6:1",
"nodeType": "YulIdentifier",
"src": "1496:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1512:2:1",
"nodeType": "YulLiteral",
"src": "1512:2:1",
"type": "",
"value": "64"
},
{
"kind": "number",
"nativeSrc": "1516:1:1",
"nodeType": "YulLiteral",
"src": "1516:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1508:3:1",
"nodeType": "YulIdentifier",
"src": "1508:3:1"
},
"nativeSrc": "1508:10:1",
"nodeType": "YulFunctionCall",
"src": "1508:10:1"
},
{
"kind": "number",
"nativeSrc": "1520:1:1",
"nodeType": "YulLiteral",
"src": "1520:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1504:3:1",
"nodeType": "YulIdentifier",
"src": "1504:3:1"
},
"nativeSrc": "1504:18:1",
"nodeType": "YulFunctionCall",
"src": "1504:18:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1493:2:1",
"nodeType": "YulIdentifier",
"src": "1493:2:1"
},
"nativeSrc": "1493:30:1",
"nodeType": "YulFunctionCall",
"src": "1493:30:1"
},
"nativeSrc": "1490:56:1",
"nodeType": "YulIf",
"src": "1490:56:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "1599:4:1",
"nodeType": "YulIdentifier",
"src": "1599:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "1637:4:1",
"nodeType": "YulIdentifier",
"src": "1637:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "1631:5:1",
"nodeType": "YulIdentifier",
"src": "1631:5:1"
},
"nativeSrc": "1631:11:1",
"nodeType": "YulFunctionCall",
"src": "1631:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "1605:25:1",
"nodeType": "YulIdentifier",
"src": "1605:25:1"
},
"nativeSrc": "1605:38:1",
"nodeType": "YulFunctionCall",
"src": "1605:38:1"
},
{
"name": "newLen",
"nativeSrc": "1645:6:1",
"nodeType": "YulIdentifier",
"src": "1645:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_string_storage",
"nativeSrc": "1555:43:1",
"nodeType": "YulIdentifier",
"src": "1555:43:1"
},
"nativeSrc": "1555:97:1",
"nodeType": "YulFunctionCall",
"src": "1555:97:1"
},
"nativeSrc": "1555:97:1",
"nodeType": "YulExpressionStatement",
"src": "1555:97:1"
},
{
"nativeSrc": "1661:18:1",
"nodeType": "YulVariableDeclaration",
"src": "1661:18:1",
"value": {
"kind": "number",
"nativeSrc": "1678:1:1",
"nodeType": "YulLiteral",
"src": "1678:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "1665:9:1",
"nodeType": "YulTypedName",
"src": "1665:9:1",
"type": ""
}
]
},
{
"nativeSrc": "1688:17:1",
"nodeType": "YulAssignment",
"src": "1688:17:1",
"value": {
"kind": "number",
"nativeSrc": "1701:4:1",
"nodeType": "YulLiteral",
"src": "1701:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "1688:9:1",
"nodeType": "YulIdentifier",
"src": "1688:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "1751:642:1",
"nodeType": "YulBlock",
"src": "1751:642:1",
"statements": [
{
"nativeSrc": "1765:35:1",
"nodeType": "YulVariableDeclaration",
"src": "1765:35:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "1784:6:1",
"nodeType": "YulIdentifier",
"src": "1784:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1796:2:1",
"nodeType": "YulLiteral",
"src": "1796:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1792:3:1",
"nodeType": "YulIdentifier",
"src": "1792:3:1"
},
"nativeSrc": "1792:7:1",
"nodeType": "YulFunctionCall",
"src": "1792:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1780:3:1",
"nodeType": "YulIdentifier",
"src": "1780:3:1"
},
"nativeSrc": "1780:20:1",
"nodeType": "YulFunctionCall",
"src": "1780:20:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "1769:7:1",
"nodeType": "YulTypedName",
"src": "1769:7:1",
"type": ""
}
]
},
{
"nativeSrc": "1813:49:1",
"nodeType": "YulVariableDeclaration",
"src": "1813:49:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "1857:4:1",
"nodeType": "YulIdentifier",
"src": "1857:4:1"
}
],
"functionName": {
"name": "array_dataslot_string_storage",
"nativeSrc": "1827:29:1",
"nodeType": "YulIdentifier",
"src": "1827:29:1"
},
"nativeSrc": "1827:35:1",
"nodeType": "YulFunctionCall",
"src": "1827:35:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "1817:6:1",
"nodeType": "YulTypedName",
"src": "1817:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1875:10:1",
"nodeType": "YulVariableDeclaration",
"src": "1875:10:1",
"value": {
"kind": "number",
"nativeSrc": "1884:1:1",
"nodeType": "YulLiteral",
"src": "1884:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "1879:1:1",
"nodeType": "YulTypedName",
"src": "1879:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1955:165:1",
"nodeType": "YulBlock",
"src": "1955:165:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "1980:6:1",
"nodeType": "YulIdentifier",
"src": "1980:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "1998:3:1",
"nodeType": "YulIdentifier",
"src": "1998:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "2003:9:1",
"nodeType": "YulIdentifier",
"src": "2003:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1994:3:1",
"nodeType": "YulIdentifier",
"src": "1994:3:1"
},
"nativeSrc": "1994:19:1",
"nodeType": "YulFunctionCall",
"src": "1994:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1988:5:1",
"nodeType": "YulIdentifier",
"src": "1988:5:1"
},
"nativeSrc": "1988:26:1",
"nodeType": "YulFunctionCall",
"src": "1988:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "1973:6:1",
"nodeType": "YulIdentifier",
"src": "1973:6:1"
},
"nativeSrc": "1973:42:1",
"nodeType": "YulFunctionCall",
"src": "1973:42:1"
},
"nativeSrc": "1973:42:1",
"nodeType": "YulExpressionStatement",
"src": "1973:42:1"
},
{
"nativeSrc": "2032:24:1",
"nodeType": "YulAssignment",
"src": "2032:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "2046:6:1",
"nodeType": "YulIdentifier",
"src": "2046:6:1"
},
{
"kind": "number",
"nativeSrc": "2054:1:1",
"nodeType": "YulLiteral",
"src": "2054:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2042:3:1",
"nodeType": "YulIdentifier",
"src": "2042:3:1"
},
"nativeSrc": "2042:14:1",
"nodeType": "YulFunctionCall",
"src": "2042:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "2032:6:1",
"nodeType": "YulIdentifier",
"src": "2032:6:1"
}
]
},
{
"nativeSrc": "2073:33:1",
"nodeType": "YulAssignment",
"src": "2073:33:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "2090:9:1",
"nodeType": "YulIdentifier",
"src": "2090:9:1"
},
{
"kind": "number",
"nativeSrc": "2101:4:1",
"nodeType": "YulLiteral",
"src": "2101:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2086:3:1",
"nodeType": "YulIdentifier",
"src": "2086:3:1"
},
"nativeSrc": "2086:20:1",
"nodeType": "YulFunctionCall",
"src": "2086:20:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "2073:9:1",
"nodeType": "YulIdentifier",
"src": "2073:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "1909:1:1",
"nodeType": "YulIdentifier",
"src": "1909:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "1912:7:1",
"nodeType": "YulIdentifier",
"src": "1912:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1906:2:1",
"nodeType": "YulIdentifier",
"src": "1906:2:1"
},
"nativeSrc": "1906:14:1",
"nodeType": "YulFunctionCall",
"src": "1906:14:1"
},
"nativeSrc": "1898:222:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "1921:21:1",
"nodeType": "YulBlock",
"src": "1921:21:1",
"statements": [
{
"nativeSrc": "1923:17:1",
"nodeType": "YulAssignment",
"src": "1923:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "1932:1:1",
"nodeType": "YulIdentifier",
"src": "1932:1:1"
},
{
"kind": "number",
"nativeSrc": "1935:4:1",
"nodeType": "YulLiteral",
"src": "1935:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1928:3:1",
"nodeType": "YulIdentifier",
"src": "1928:3:1"
},
"nativeSrc": "1928:12:1",
"nodeType": "YulFunctionCall",
"src": "1928:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "1923:1:1",
"nodeType": "YulIdentifier",
"src": "1923:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "1902:3:1",
"nodeType": "YulBlock",
"src": "1902:3:1",
"statements": []
},
"src": "1898:222:1"
},
{
"body": {
"nativeSrc": "2168:166:1",
"nodeType": "YulBlock",
"src": "2168:166:1",
"statements": [
{
"nativeSrc": "2186:43:1",
"nodeType": "YulVariableDeclaration",
"src": "2186:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2213:3:1",
"nodeType": "YulIdentifier",
"src": "2213:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "2218:9:1",
"nodeType": "YulIdentifier",
"src": "2218:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2209:3:1",
"nodeType": "YulIdentifier",
"src": "2209:3:1"
},
"nativeSrc": "2209:19:1",
"nodeType": "YulFunctionCall",
"src": "2209:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2203:5:1",
"nodeType": "YulIdentifier",
"src": "2203:5:1"
},
"nativeSrc": "2203:26:1",
"nodeType": "YulFunctionCall",
"src": "2203:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "2190:9:1",
"nodeType": "YulTypedName",
"src": "2190:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "2253:6:1",
"nodeType": "YulIdentifier",
"src": "2253:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "2265:9:1",
"nodeType": "YulIdentifier",
"src": "2265:9:1"
},
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "2292:1:1",
"nodeType": "YulLiteral",
"src": "2292:1:1",
"type": "",
"value": "3"
},
{
"name": "newLen",
"nativeSrc": "2295:6:1",
"nodeType": "YulIdentifier",
"src": "2295:6:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "2288:3:1",
"nodeType": "YulIdentifier",
"src": "2288:3:1"
},
"nativeSrc": "2288:14:1",
"nodeType": "YulFunctionCall",
"src": "2288:14:1"
},
{
"kind": "number",
"nativeSrc": "2304:3:1",
"nodeType": "YulLiteral",
"src": "2304:3:1",
"type": "",
"value": "248"
}
],
"functionName": {
"name": "and",
"nativeSrc": "2284:3:1",
"nodeType": "YulIdentifier",
"src": "2284:3:1"
},
"nativeSrc": "2284:24:1",
"nodeType": "YulFunctionCall",
"src": "2284:24:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "2314:1:1",
"nodeType": "YulLiteral",
"src": "2314:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "2310:3:1",
"nodeType": "YulIdentifier",
"src": "2310:3:1"
},
"nativeSrc": "2310:6:1",
"nodeType": "YulFunctionCall",
"src": "2310:6:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "2280:3:1",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
},
"nativeSrc": "2280:37:1",
"nodeType": "YulFunctionCall",
"src": "2280:37:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "2276:3:1",
"nodeType": "YulIdentifier",
"src": "2276:3:1"
},
"nativeSrc": "2276:42:1",
"nodeType": "YulFunctionCall",
"src": "2276:42:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "2261:3:1",
"nodeType": "YulIdentifier",
"src": "2261:3:1"
},
"nativeSrc": "2261:58:1",
"nodeType": "YulFunctionCall",
"src": "2261:58:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2246:6:1",
"nodeType": "YulIdentifier",
"src": "2246:6:1"
},
"nativeSrc": "2246:74:1",
"nodeType": "YulFunctionCall",
"src": "2246:74:1"
},
"nativeSrc": "2246:74:1",
"nodeType": "YulExpressionStatement",
"src": "2246:74:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "2139:7:1",
"nodeType": "YulIdentifier",
"src": "2139:7:1"
},
{
"name": "newLen",
"nativeSrc": "2148:6:1",
"nodeType": "YulIdentifier",
"src": "2148:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2136:2:1",
"nodeType": "YulIdentifier",
"src": "2136:2:1"
},
"nativeSrc": "2136:19:1",
"nodeType": "YulFunctionCall",
"src": "2136:19:1"
},
"nativeSrc": "2133:201:1",
"nodeType": "YulIf",
"src": "2133:201:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2354:4:1",
"nodeType": "YulIdentifier",
"src": "2354:4:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "2368:1:1",
"nodeType": "YulLiteral",
"src": "2368:1:1",
"type": "",
"value": "1"
},
{
"name": "newLen",
"nativeSrc": "2371:6:1",
"nodeType": "YulIdentifier",
"src": "2371:6:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "2364:3:1",
"nodeType": "YulIdentifier",
"src": "2364:3:1"
},
"nativeSrc": "2364:14:1",
"nodeType": "YulFunctionCall",
"src": "2364:14:1"
},
{
"kind": "number",
"nativeSrc": "2380:1:1",
"nodeType": "YulLiteral",
"src": "2380:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2360:3:1",
"nodeType": "YulIdentifier",
"src": "2360:3:1"
},
"nativeSrc": "2360:22:1",
"nodeType": "YulFunctionCall",
"src": "2360:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2347:6:1",
"nodeType": "YulIdentifier",
"src": "2347:6:1"
},
"nativeSrc": "2347:36:1",
"nodeType": "YulFunctionCall",
"src": "2347:36:1"
},
"nativeSrc": "2347:36:1",
"nodeType": "YulExpressionStatement",
"src": "2347:36:1"
}
]
},
"nativeSrc": "1744:649:1",
"nodeType": "YulCase",
"src": "1744:649:1",
"value": {
"kind": "number",
"nativeSrc": "1749:1:1",
"nodeType": "YulLiteral",
"src": "1749:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "2410:234:1",
"nodeType": "YulBlock",
"src": "2410:234:1",
"statements": [
{
"nativeSrc": "2424:14:1",
"nodeType": "YulVariableDeclaration",
"src": "2424:14:1",
"value": {
"kind": "number",
"nativeSrc": "2437:1:1",
"nodeType": "YulLiteral",
"src": "2437:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "2428:5:1",
"nodeType": "YulTypedName",
"src": "2428:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2473:67:1",
"nodeType": "YulBlock",
"src": "2473:67:1",
"statements": [
{
"nativeSrc": "2491:35:1",
"nodeType": "YulAssignment",
"src": "2491:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2510:3:1",
"nodeType": "YulIdentifier",
"src": "2510:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "2515:9:1",
"nodeType": "YulIdentifier",
"src": "2515:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2506:3:1",
"nodeType": "YulIdentifier",
"src": "2506:3:1"
},
"nativeSrc": "2506:19:1",
"nodeType": "YulFunctionCall",
"src": "2506:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2500:5:1",
"nodeType": "YulIdentifier",
"src": "2500:5:1"
},
"nativeSrc": "2500:26:1",
"nodeType": "YulFunctionCall",
"src": "2500:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2491:5:1",
"nodeType": "YulIdentifier",
"src": "2491:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "2454:6:1",
"nodeType": "YulIdentifier",
"src": "2454:6:1"
},
"nativeSrc": "2451:89:1",
"nodeType": "YulIf",
"src": "2451:89:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2560:4:1",
"nodeType": "YulIdentifier",
"src": "2560:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2619:5:1",
"nodeType": "YulIdentifier",
"src": "2619:5:1"
},
{
"name": "newLen",
"nativeSrc": "2626:6:1",
"nodeType": "YulIdentifier",
"src": "2626:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "2566:52:1",
"nodeType": "YulIdentifier",
"src": "2566:52:1"
},
"nativeSrc": "2566:67:1",
"nodeType": "YulFunctionCall",
"src": "2566:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2553:6:1",
"nodeType": "YulIdentifier",
"src": "2553:6:1"
},
"nativeSrc": "2553:81:1",
"nodeType": "YulFunctionCall",
"src": "2553:81:1"
},
"nativeSrc": "2553:81:1",
"nodeType": "YulExpressionStatement",
"src": "2553:81:1"
}
]
},
"nativeSrc": "2402:242:1",
"nodeType": "YulCase",
"src": "2402:242:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "1724:6:1",
"nodeType": "YulIdentifier",
"src": "1724:6:1"
},
{
"kind": "number",
"nativeSrc": "1732:2:1",
"nodeType": "YulLiteral",
"src": "1732:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1721:2:1",
"nodeType": "YulIdentifier",
"src": "1721:2:1"
},
"nativeSrc": "1721:14:1",
"nodeType": "YulFunctionCall",
"src": "1721:14:1"
},
"nativeSrc": "1714:930:1",
"nodeType": "YulSwitch",
"src": "1714:930:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "1351:1299:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "1432:4:1",
"nodeType": "YulTypedName",
"src": "1432:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "1438:3:1",
"nodeType": "YulTypedName",
"src": "1438:3:1",
"type": ""
}
],
"src": "1351:1299:1"
}
]
},
"contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _1 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _1) { start := add(start, 1) }\n { sstore(start, 0) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 0x20)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\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}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60c0604052600c60809081526b48656c6c6f20576f726c642160a01b60a0525f9061002a90826100d4565b50348015610036575f5ffd5b5061018e565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061006457607f821691505b60208210810361008257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156100cf57805f5260205f20601f840160051c810160208510156100ad5750805b601f840160051c820191505b818110156100cc575f81556001016100b9565b50505b505050565b81516001600160401b038111156100ed576100ed61003c565b610101816100fb8454610050565b84610088565b6020601f821160018114610133575f831561011c5750848201515b5f19600385901b1c1916600184901b1784556100cc565b5f84815260208120601f198516915b828110156101625787850151825560209485019460019092019101610142565b508482101561017f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6101798061019b5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063cfae32171461002d575b5f5ffd5b61003561004b565b60405161004291906100d6565b60405180910390f35b5f80546100579061010b565b80601f01602080910402602001604051908101604052809291908181526020018280546100839061010b565b80156100ce5780601f106100a5576101008083540402835291602001916100ce565b820191905f5260205f20905b8154815290600101906020018083116100b157829003601f168201915b505050505081565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061011f57607f821691505b60208210810361013d57634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220b3de4a9ffd741402e27d8afb48ecae39149ff0e63b6a6f523c770fcf12b14df464736f6c634300081e0033",
"opcodes": "PUSH1 0xC0 PUSH1 0x40 MSTORE PUSH1 0xC PUSH1 0x80 SWAP1 DUP2 MSTORE PUSH12 0x48656C6C6F20576F726C6421 PUSH1 0xA0 SHL PUSH1 0xA0 MSTORE PUSH0 SWAP1 PUSH2 0x2A SWAP1 DUP3 PUSH2 0xD4 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x36 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x18E JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x64 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x82 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xCF JUMPI DUP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0xAD JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xCC JUMPI PUSH0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xB9 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xED JUMPI PUSH2 0xED PUSH2 0x3C JUMP JUMPDEST PUSH2 0x101 DUP2 PUSH2 0xFB DUP5 SLOAD PUSH2 0x50 JUMP JUMPDEST DUP5 PUSH2 0x88 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 DUP2 EQ PUSH2 0x133 JUMPI PUSH0 DUP4 ISZERO PUSH2 0x11C JUMPI POP DUP5 DUP3 ADD MLOAD JUMPDEST PUSH0 NOT PUSH1 0x3 DUP6 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP5 SWAP1 SHL OR DUP5 SSTORE PUSH2 0xCC JUMP JUMPDEST PUSH0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP6 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x162 JUMPI DUP8 DUP6 ADD MLOAD DUP3 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x142 JUMP JUMPDEST POP DUP5 DUP3 LT ISZERO PUSH2 0x17F JUMPI DUP7 DUP5 ADD MLOAD PUSH0 NOT PUSH1 0x3 DUP8 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x179 DUP1 PUSH2 0x19B PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x57 SWAP1 PUSH2 0x10B 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 0x83 SWAP1 PUSH2 0x10B JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCE 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 0xB1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x20 DUP6 ADD PUSH1 0x40 DUP6 ADD MCOPY PUSH0 PUSH1 0x40 DUP3 DUP6 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP5 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB3 0xDE BLOBBASEFEE SWAP16 REVERT PUSH21 0x1402E27D8AFB48ECAE39149FF0E63B6A6F523C770F 0xCF SLT 0xB1 0x4D DELEGATECALL PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "162:36:0:-:0;136:65;162:36;;136:65;162:36;;;-1:-1:-1;;;162:36:0;;-1:-1:-1;;162:36:0;;-1:-1:-1;162:36:0;:::i;:::-;;136:65;;;;;;;;;;;;14:127:1;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:518::-;759:2;754:3;751:11;748:421;;;795:5;792:1;785:16;839:4;836:1;826:18;909:2;897:10;893:19;890:1;886:27;880:4;876:38;945:4;933:10;930:20;927:47;;;-1:-1:-1;968:4:1;927:47;1023:2;1018:3;1014:12;1011:1;1007:20;1001:4;997:31;987:41;;1078:81;1096:2;1089:5;1086:13;1078:81;;;1155:1;1141:16;;1122:1;1111:13;1078:81;;;1082:3;;748:421;657:518;;;:::o;1351:1299::-;1471:10;;-1:-1:-1;;;;;1493:30:1;;1490:56;;;1526:18;;:::i;:::-;1555:97;1645:6;1605:38;1637:4;1631:11;1605:38;:::i;:::-;1599:4;1555:97;:::i;:::-;1701:4;1732:2;1721:14;;1749:1;1744:649;;;;2437:1;2454:6;2451:89;;;-1:-1:-1;2506:19:1;;;2500:26;2451:89;-1:-1:-1;;1308:1:1;1304:11;;;1300:24;1296:29;1286:40;1332:1;1328:11;;;1283:57;2553:81;;1714:930;;1744:649;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1780:20:1;;;1898:222;1912:7;1909:1;1906:14;1898:222;;;1994:19;;;1988:26;1973:42;;2101:4;2086:20;;;;2054:1;2042:14;;;;1928:12;1898:222;;;1902:3;2148:6;2139:7;2136:19;2133:201;;;2209:19;;;2203:26;-1:-1:-1;;2292:1:1;2288:14;;;2304:3;2284:24;2280:37;2276:42;2261:58;2246:74;;2133:201;-1:-1:-1;;;;2380:1:1;2364:14;;;2360:22;2347:36;;-1:-1:-1;1351:1299:1:o;:::-;136:65:0;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@greet_4": {
"entryPoint": 75,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 214,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 267,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:819:1",
"nodeType": "YulBlock",
"src": "0:819:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "135:297:1",
"nodeType": "YulBlock",
"src": "135:297:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "152:9:1",
"nodeType": "YulIdentifier",
"src": "152:9:1"
},
{
"kind": "number",
"nativeSrc": "163:2:1",
"nodeType": "YulLiteral",
"src": "163:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "145:6:1",
"nodeType": "YulIdentifier",
"src": "145:6:1"
},
"nativeSrc": "145:21:1",
"nodeType": "YulFunctionCall",
"src": "145:21:1"
},
"nativeSrc": "145:21:1",
"nodeType": "YulExpressionStatement",
"src": "145:21:1"
},
{
"nativeSrc": "175:27:1",
"nodeType": "YulVariableDeclaration",
"src": "175:27:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "195:6:1",
"nodeType": "YulIdentifier",
"src": "195:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "189:5:1",
"nodeType": "YulIdentifier",
"src": "189:5:1"
},
"nativeSrc": "189:13:1",
"nodeType": "YulFunctionCall",
"src": "189:13:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "179:6:1",
"nodeType": "YulTypedName",
"src": "179:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "222:9:1",
"nodeType": "YulIdentifier",
"src": "222:9:1"
},
{
"kind": "number",
"nativeSrc": "233:2:1",
"nodeType": "YulLiteral",
"src": "233:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "218:3:1",
"nodeType": "YulIdentifier",
"src": "218:3:1"
},
"nativeSrc": "218:18:1",
"nodeType": "YulFunctionCall",
"src": "218:18:1"
},
{
"name": "length",
"nativeSrc": "238:6:1",
"nodeType": "YulIdentifier",
"src": "238:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "211:6:1",
"nodeType": "YulIdentifier",
"src": "211:6:1"
},
"nativeSrc": "211:34:1",
"nodeType": "YulFunctionCall",
"src": "211:34:1"
},
"nativeSrc": "211:34:1",
"nodeType": "YulExpressionStatement",
"src": "211:34:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "264:9:1",
"nodeType": "YulIdentifier",
"src": "264:9:1"
},
{
"kind": "number",
"nativeSrc": "275:2:1",
"nodeType": "YulLiteral",
"src": "275:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "260:3:1",
"nodeType": "YulIdentifier",
"src": "260:3:1"
},
"nativeSrc": "260:18:1",
"nodeType": "YulFunctionCall",
"src": "260:18:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "284:6:1",
"nodeType": "YulIdentifier",
"src": "284:6:1"
},
{
"kind": "number",
"nativeSrc": "292:2:1",
"nodeType": "YulLiteral",
"src": "292:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "280:3:1",
"nodeType": "YulIdentifier",
"src": "280:3:1"
},
"nativeSrc": "280:15:1",
"nodeType": "YulFunctionCall",
"src": "280:15:1"
},
{
"name": "length",
"nativeSrc": "297:6:1",
"nodeType": "YulIdentifier",
"src": "297:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "254:5:1",
"nodeType": "YulIdentifier",
"src": "254:5:1"
},
"nativeSrc": "254:50:1",
"nodeType": "YulFunctionCall",
"src": "254:50:1"
},
"nativeSrc": "254:50:1",
"nodeType": "YulExpressionStatement",
"src": "254:50:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "328:9:1",
"nodeType": "YulIdentifier",
"src": "328:9:1"
},
{
"name": "length",
"nativeSrc": "339:6:1",
"nodeType": "YulIdentifier",
"src": "339:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "324:3:1",
"nodeType": "YulIdentifier",
"src": "324:3:1"
},
"nativeSrc": "324:22:1",
"nodeType": "YulFunctionCall",
"src": "324:22:1"
},
{
"kind": "number",
"nativeSrc": "348:2:1",
"nodeType": "YulLiteral",
"src": "348:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "320:3:1",
"nodeType": "YulIdentifier",
"src": "320:3:1"
},
"nativeSrc": "320:31:1",
"nodeType": "YulFunctionCall",
"src": "320:31:1"
},
{
"kind": "number",
"nativeSrc": "353:1:1",
"nodeType": "YulLiteral",
"src": "353:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "313:6:1",
"nodeType": "YulIdentifier",
"src": "313:6:1"
},
"nativeSrc": "313:42:1",
"nodeType": "YulFunctionCall",
"src": "313:42:1"
},
"nativeSrc": "313:42:1",
"nodeType": "YulExpressionStatement",
"src": "313:42:1"
},
{
"nativeSrc": "364:62:1",
"nodeType": "YulAssignment",
"src": "364:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "380:9:1",
"nodeType": "YulIdentifier",
"src": "380:9:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "399:6:1",
"nodeType": "YulIdentifier",
"src": "399:6:1"
},
{
"kind": "number",
"nativeSrc": "407:2:1",
"nodeType": "YulLiteral",
"src": "407:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "395:3:1",
"nodeType": "YulIdentifier",
"src": "395:3:1"
},
"nativeSrc": "395:15:1",
"nodeType": "YulFunctionCall",
"src": "395:15:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "416:2:1",
"nodeType": "YulLiteral",
"src": "416:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "412:3:1",
"nodeType": "YulIdentifier",
"src": "412:3:1"
},
"nativeSrc": "412:7:1",
"nodeType": "YulFunctionCall",
"src": "412:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "391:3:1",
"nodeType": "YulIdentifier",
"src": "391:3:1"
},
"nativeSrc": "391:29:1",
"nodeType": "YulFunctionCall",
"src": "391:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "376:3:1",
"nodeType": "YulIdentifier",
"src": "376:3:1"
},
"nativeSrc": "376:45:1",
"nodeType": "YulFunctionCall",
"src": "376:45:1"
},
{
"kind": "number",
"nativeSrc": "423:2:1",
"nodeType": "YulLiteral",
"src": "423:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "372:3:1",
"nodeType": "YulIdentifier",
"src": "372:3:1"
},
"nativeSrc": "372:54:1",
"nodeType": "YulFunctionCall",
"src": "372:54:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "364:4:1",
"nodeType": "YulIdentifier",
"src": "364:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "14:418:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "104:9:1",
"nodeType": "YulTypedName",
"src": "104:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "115:6:1",
"nodeType": "YulTypedName",
"src": "115:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "126:4:1",
"nodeType": "YulTypedName",
"src": "126:4:1",
"type": ""
}
],
"src": "14:418:1"
},
{
"body": {
"nativeSrc": "492:325:1",
"nodeType": "YulBlock",
"src": "492:325:1",
"statements": [
{
"nativeSrc": "502:22:1",
"nodeType": "YulAssignment",
"src": "502:22:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "516:1:1",
"nodeType": "YulLiteral",
"src": "516:1:1",
"type": "",
"value": "1"
},
{
"name": "data",
"nativeSrc": "519:4:1",
"nodeType": "YulIdentifier",
"src": "519:4:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "512:3:1",
"nodeType": "YulIdentifier",
"src": "512:3:1"
},
"nativeSrc": "512:12:1",
"nodeType": "YulFunctionCall",
"src": "512:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "502:6:1",
"nodeType": "YulIdentifier",
"src": "502:6:1"
}
]
},
{
"nativeSrc": "533:38:1",
"nodeType": "YulVariableDeclaration",
"src": "533:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "563:4:1",
"nodeType": "YulIdentifier",
"src": "563:4:1"
},
{
"kind": "number",
"nativeSrc": "569:1:1",
"nodeType": "YulLiteral",
"src": "569:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "559:3:1",
"nodeType": "YulIdentifier",
"src": "559:3:1"
},
"nativeSrc": "559:12:1",
"nodeType": "YulFunctionCall",
"src": "559:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "537:18:1",
"nodeType": "YulTypedName",
"src": "537:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "610:31:1",
"nodeType": "YulBlock",
"src": "610:31:1",
"statements": [
{
"nativeSrc": "612:27:1",
"nodeType": "YulAssignment",
"src": "612:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "626:6:1",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
{
"kind": "number",
"nativeSrc": "634:4:1",
"nodeType": "YulLiteral",
"src": "634:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "622:3:1",
"nodeType": "YulIdentifier",
"src": "622:3:1"
},
"nativeSrc": "622:17:1",
"nodeType": "YulFunctionCall",
"src": "622:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "612:6:1",
"nodeType": "YulIdentifier",
"src": "612:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "590:18:1",
"nodeType": "YulIdentifier",
"src": "590:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "583:6:1",
"nodeType": "YulIdentifier",
"src": "583:6:1"
},
"nativeSrc": "583:26:1",
"nodeType": "YulFunctionCall",
"src": "583:26:1"
},
"nativeSrc": "580:61:1",
"nodeType": "YulIf",
"src": "580:61:1"
},
{
"body": {
"nativeSrc": "700:111:1",
"nodeType": "YulBlock",
"src": "700:111:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "721:1:1",
"nodeType": "YulLiteral",
"src": "721:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "728:3:1",
"nodeType": "YulLiteral",
"src": "728:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nativeSrc": "733:10:1",
"nodeType": "YulLiteral",
"src": "733:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "724:3:1",
"nodeType": "YulIdentifier",
"src": "724:3:1"
},
"nativeSrc": "724:20:1",
"nodeType": "YulFunctionCall",
"src": "724:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "714:6:1",
"nodeType": "YulIdentifier",
"src": "714:6:1"
},
"nativeSrc": "714:31:1",
"nodeType": "YulFunctionCall",
"src": "714:31:1"
},
"nativeSrc": "714:31:1",
"nodeType": "YulExpressionStatement",
"src": "714:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "765:1:1",
"nodeType": "YulLiteral",
"src": "765:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "768:4:1",
"nodeType": "YulLiteral",
"src": "768:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "758:6:1",
"nodeType": "YulIdentifier",
"src": "758:6:1"
},
"nativeSrc": "758:15:1",
"nodeType": "YulFunctionCall",
"src": "758:15:1"
},
"nativeSrc": "758:15:1",
"nodeType": "YulExpressionStatement",
"src": "758:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "793:1:1",
"nodeType": "YulLiteral",
"src": "793:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "796:4:1",
"nodeType": "YulLiteral",
"src": "796:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "786:6:1",
"nodeType": "YulIdentifier",
"src": "786:6:1"
},
"nativeSrc": "786:15:1",
"nodeType": "YulFunctionCall",
"src": "786:15:1"
},
"nativeSrc": "786:15:1",
"nodeType": "YulExpressionStatement",
"src": "786:15:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "656:18:1",
"nodeType": "YulIdentifier",
"src": "656:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "679:6:1",
"nodeType": "YulIdentifier",
"src": "679:6:1"
},
{
"kind": "number",
"nativeSrc": "687:2:1",
"nodeType": "YulLiteral",
"src": "687:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "676:2:1",
"nodeType": "YulIdentifier",
"src": "676:2:1"
},
"nativeSrc": "676:14:1",
"nodeType": "YulFunctionCall",
"src": "676:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "653:2:1",
"nodeType": "YulIdentifier",
"src": "653:2:1"
},
"nativeSrc": "653:38:1",
"nodeType": "YulFunctionCall",
"src": "653:38:1"
},
"nativeSrc": "650:161:1",
"nodeType": "YulIf",
"src": "650:161:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "437:380:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "472:4:1",
"nodeType": "YulTypedName",
"src": "472:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "481:6:1",
"nodeType": "YulTypedName",
"src": "481:6:1",
"type": ""
}
],
"src": "437:380:1"
}
]
},
"contents": "{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n mcopy(add(headStart, 64), add(value0, 32), length)\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063cfae32171461002d575b5f5ffd5b61003561004b565b60405161004291906100d6565b60405180910390f35b5f80546100579061010b565b80601f01602080910402602001604051908101604052809291908181526020018280546100839061010b565b80156100ce5780601f106100a5576101008083540402835291602001916100ce565b820191905f5260205f20905b8154815290600101906020018083116100b157829003601f168201915b505050505081565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061011f57607f821691505b60208210810361013d57634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220b3de4a9ffd741402e27d8afb48ecae39149ff0e63b6a6f523c770fcf12b14df464736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x57 SWAP1 PUSH2 0x10B 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 0x83 SWAP1 PUSH2 0x10B JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCE 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 0xB1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x20 DUP6 ADD PUSH1 0x40 DUP6 ADD MCOPY PUSH0 PUSH1 0x40 DUP3 DUP6 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP5 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB3 0xDE BLOBBASEFEE SWAP16 REVERT PUSH21 0x1402E27D8AFB48ECAE39149FF0E63B6A6F523C770F 0xCF SLT 0xB1 0x4D DELEGATECALL PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ",
"sourceMap": "136:65:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;162:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:380::-;516:1;512:12;;;;559;;;580:61;;634:4;626:6;622:17;612:27;;580:61;687:2;679:6;676:14;656:18;653:38;650:161;;733:10;728:3;724:20;721:1;714:31;768:4;765:1;758:15;796:4;793:1;786:15;650:161;;437:380;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "75400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"greet()": "infinite"
}
},
"methodIdentifiers": {
"greet()": "cfae3217"
}
},
"abi": [
{
"inputs": [],
"name": "greet",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "greet",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/2. Basic Syntax/basicSyntax.sol": "HelloWorld"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/2. Basic Syntax/basicSyntax.sol": {
"keccak256": "0x92820b2762d0b07e9c4602935be853cb0ca2f3634504ab2a539680776f1f5011",
"license": "MIT",
"urls": [
"bzz-raw://a9a12d79a48dc6fad901900f5629a812ca903ffb7427cc16704cfbc9c109793a",
"dweb:/ipfs/QmaWqbiZHk39spyaDZQvfeQuHeqHCtn1tMnZx29e8DY2jo"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"safeTransferFrom(address,address,uint256)": "42842e0e",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/Start and Bid Functions/auctionContractStartBid.sol": "IERC721"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/Start and Bid Functions/auctionContractStartBid.sol": {
"keccak256": "0x510369dcabcf854e77463a8fbd9b6e5dc631faa76191d26233cc1a130a5b6282",
"license": "MIT",
"urls": [
"bzz-raw://fce499eb3b18f667356416a079911fd3338753e716d414646528f4d5b7e8940b",
"dweb:/ipfs/QmVKEajWXXWqeUJifpfrPdF7XHE5TQ6gxhczttMpqJyzYp"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f5ffd5b506102928061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806319c5e07a146100435780632fbebd381461007357806355278c5b146100a3575b5f5ffd5b61005d60048036038101906100589190610179565b6100d3565b60405161006a91906101be565b60405180910390f35b61008d60048036038101906100889190610179565b6100f7565b60405161009a91906101e6565b60405180910390f35b6100bd60048036038101906100b89190610179565b610125565b6040516100ca91906101e6565b60405180910390f35b5f5f6002836100e2919061022c565b146100ed575f6100f0565b60015b9050919050565b5f600a821015610109575f9050610120565b601482101561011b5760019050610120565b600290505b919050565b5f600a8210610135576002610138565b60015b60ff169050919050565b5f5ffd5b5f819050919050565b61015881610146565b8114610162575f5ffd5b50565b5f813590506101738161014f565b92915050565b5f6020828403121561018e5761018d610142565b5b5f61019b84828501610165565b91505092915050565b5f8115159050919050565b6101b8816101a4565b82525050565b5f6020820190506101d15f8301846101af565b92915050565b6101e081610146565b82525050565b5f6020820190506101f95f8301846101d7565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61023682610146565b915061024183610146565b925082610251576102506101ff565b5b82820690509291505056fea26469706673582212200314748ffa5356949cb2eebf077be0fe972c6bfb58cd89e324287fea0b7159fc64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x292 DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x19C5E07A EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x2FBEBD38 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0x55278C5B EQ PUSH2 0xA3 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x179 JUMP JUMPDEST PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6A SWAP2 SWAP1 PUSH2 0x1BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x179 JUMP JUMPDEST PUSH2 0xF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x1E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x179 JUMP JUMPDEST PUSH2 0x125 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x1E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 PUSH0 PUSH1 0x2 DUP4 PUSH2 0xE2 SWAP2 SWAP1 PUSH2 0x22C JUMP JUMPDEST EQ PUSH2 0xED JUMPI PUSH0 PUSH2 0xF0 JUMP JUMPDEST PUSH1 0x1 JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA DUP3 LT ISZERO PUSH2 0x109 JUMPI PUSH0 SWAP1 POP PUSH2 0x120 JUMP JUMPDEST PUSH1 0x14 DUP3 LT ISZERO PUSH2 0x11B JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x120 JUMP JUMPDEST PUSH1 0x2 SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA DUP3 LT PUSH2 0x135 JUMPI PUSH1 0x2 PUSH2 0x138 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x158 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP2 EQ PUSH2 0x162 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x173 DUP2 PUSH2 0x14F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18E JUMPI PUSH2 0x18D PUSH2 0x142 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x19B DUP5 DUP3 DUP6 ADD PUSH2 0x165 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B8 DUP2 PUSH2 0x1A4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D1 PUSH0 DUP4 ADD DUP5 PUSH2 0x1AF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F9 PUSH0 DUP4 ADD DUP5 PUSH2 0x1D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x236 DUP3 PUSH2 0x146 JUMP JUMPDEST SWAP2 POP PUSH2 0x241 DUP4 PUSH2 0x146 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x251 JUMPI PUSH2 0x250 PUSH2 0x1FF JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB EQ PUSH21 0x8FFA5356949CB2EEBF077BE0FE972C6BFB58CD89E3 0x24 0x28 PUSH32 0xEA0B7159FC64736F6C634300081E003300000000000000000000000000000000 ",
"sourceMap": "57:572:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@evenCheck_58": {
"entryPoint": 211,
"id": 58,
"parameterSlots": 1,
"returnSlots": 1
},
"@foo_26": {
"entryPoint": 247,
"id": 26,
"parameterSlots": 1,
"returnSlots": 1
},
"@ternary_41": {
"entryPoint": 293,
"id": 41,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 357,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 377,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 431,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 471,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 446,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 486,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 420,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 326,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mod_t_uint256": {
"entryPoint": 556,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x12": {
"entryPoint": 511,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 322,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 335,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2169:1",
"nodeType": "YulBlock",
"src": "0:2169: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": "1067:48:1",
"nodeType": "YulBlock",
"src": "1067:48:1",
"statements": [
{
"nativeSrc": "1077:32:1",
"nodeType": "YulAssignment",
"src": "1077:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1102:5:1",
"nodeType": "YulIdentifier",
"src": "1102:5:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1095:6:1",
"nodeType": "YulIdentifier",
"src": "1095:6:1"
},
"nativeSrc": "1095:13:1",
"nodeType": "YulFunctionCall",
"src": "1095:13:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1088:6:1",
"nodeType": "YulIdentifier",
"src": "1088:6:1"
},
"nativeSrc": "1088:21:1",
"nodeType": "YulFunctionCall",
"src": "1088:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1077:7:1",
"nodeType": "YulIdentifier",
"src": "1077:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "1025:90:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1049:5:1",
"nodeType": "YulTypedName",
"src": "1049:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1059:7:1",
"nodeType": "YulTypedName",
"src": "1059:7:1",
"type": ""
}
],
"src": "1025:90:1"
},
{
"body": {
"nativeSrc": "1180:50:1",
"nodeType": "YulBlock",
"src": "1180:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1197:3:1",
"nodeType": "YulIdentifier",
"src": "1197:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1217:5:1",
"nodeType": "YulIdentifier",
"src": "1217:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "1202:14:1",
"nodeType": "YulIdentifier",
"src": "1202:14:1"
},
"nativeSrc": "1202:21:1",
"nodeType": "YulFunctionCall",
"src": "1202:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1190:6:1",
"nodeType": "YulIdentifier",
"src": "1190:6:1"
},
"nativeSrc": "1190:34:1",
"nodeType": "YulFunctionCall",
"src": "1190:34:1"
},
"nativeSrc": "1190:34:1",
"nodeType": "YulExpressionStatement",
"src": "1190:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "1121:109:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1168:5:1",
"nodeType": "YulTypedName",
"src": "1168:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1175:3:1",
"nodeType": "YulTypedName",
"src": "1175:3:1",
"type": ""
}
],
"src": "1121:109:1"
},
{
"body": {
"nativeSrc": "1328:118:1",
"nodeType": "YulBlock",
"src": "1328:118:1",
"statements": [
{
"nativeSrc": "1338:26:1",
"nodeType": "YulAssignment",
"src": "1338:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1350:9:1",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nativeSrc": "1361:2:1",
"nodeType": "YulLiteral",
"src": "1361:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1346:3:1",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nativeSrc": "1346:18:1",
"nodeType": "YulFunctionCall",
"src": "1346:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1338:4:1",
"nodeType": "YulIdentifier",
"src": "1338:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1412:6:1",
"nodeType": "YulIdentifier",
"src": "1412:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1425:9:1",
"nodeType": "YulIdentifier",
"src": "1425:9:1"
},
{
"kind": "number",
"nativeSrc": "1436:1:1",
"nodeType": "YulLiteral",
"src": "1436:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1421:3:1",
"nodeType": "YulIdentifier",
"src": "1421:3:1"
},
"nativeSrc": "1421:17:1",
"nodeType": "YulFunctionCall",
"src": "1421:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "1374:37:1",
"nodeType": "YulIdentifier",
"src": "1374:37:1"
},
"nativeSrc": "1374:65:1",
"nodeType": "YulFunctionCall",
"src": "1374:65:1"
},
"nativeSrc": "1374:65:1",
"nodeType": "YulExpressionStatement",
"src": "1374:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "1236:210:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1300:9:1",
"nodeType": "YulTypedName",
"src": "1300:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1312:6:1",
"nodeType": "YulTypedName",
"src": "1312:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1323:4:1",
"nodeType": "YulTypedName",
"src": "1323:4:1",
"type": ""
}
],
"src": "1236:210:1"
},
{
"body": {
"nativeSrc": "1517:53:1",
"nodeType": "YulBlock",
"src": "1517:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1534:3:1",
"nodeType": "YulIdentifier",
"src": "1534:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1557:5:1",
"nodeType": "YulIdentifier",
"src": "1557:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1539:17:1",
"nodeType": "YulIdentifier",
"src": "1539:17:1"
},
"nativeSrc": "1539:24:1",
"nodeType": "YulFunctionCall",
"src": "1539:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1527:6:1",
"nodeType": "YulIdentifier",
"src": "1527:6:1"
},
"nativeSrc": "1527:37:1",
"nodeType": "YulFunctionCall",
"src": "1527:37:1"
},
"nativeSrc": "1527:37:1",
"nodeType": "YulExpressionStatement",
"src": "1527:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1452:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1505:5:1",
"nodeType": "YulTypedName",
"src": "1505:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1512:3:1",
"nodeType": "YulTypedName",
"src": "1512:3:1",
"type": ""
}
],
"src": "1452:118:1"
},
{
"body": {
"nativeSrc": "1674:124:1",
"nodeType": "YulBlock",
"src": "1674:124:1",
"statements": [
{
"nativeSrc": "1684:26:1",
"nodeType": "YulAssignment",
"src": "1684:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1696:9:1",
"nodeType": "YulIdentifier",
"src": "1696:9:1"
},
{
"kind": "number",
"nativeSrc": "1707:2:1",
"nodeType": "YulLiteral",
"src": "1707:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1692:3:1",
"nodeType": "YulIdentifier",
"src": "1692:3:1"
},
"nativeSrc": "1692:18:1",
"nodeType": "YulFunctionCall",
"src": "1692:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1684:4:1",
"nodeType": "YulIdentifier",
"src": "1684:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1764:6:1",
"nodeType": "YulIdentifier",
"src": "1764:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1777:9:1",
"nodeType": "YulIdentifier",
"src": "1777:9:1"
},
{
"kind": "number",
"nativeSrc": "1788:1:1",
"nodeType": "YulLiteral",
"src": "1788:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1773:3:1",
"nodeType": "YulIdentifier",
"src": "1773:3:1"
},
"nativeSrc": "1773:17:1",
"nodeType": "YulFunctionCall",
"src": "1773:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1720:43:1",
"nodeType": "YulIdentifier",
"src": "1720:43:1"
},
"nativeSrc": "1720:71:1",
"nodeType": "YulFunctionCall",
"src": "1720:71:1"
},
"nativeSrc": "1720:71:1",
"nodeType": "YulExpressionStatement",
"src": "1720:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "1576:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1646:9:1",
"nodeType": "YulTypedName",
"src": "1646:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1658:6:1",
"nodeType": "YulTypedName",
"src": "1658:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1669:4:1",
"nodeType": "YulTypedName",
"src": "1669:4:1",
"type": ""
}
],
"src": "1576:222:1"
},
{
"body": {
"nativeSrc": "1832:152:1",
"nodeType": "YulBlock",
"src": "1832:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1849:1:1",
"nodeType": "YulLiteral",
"src": "1849:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1852:77:1",
"nodeType": "YulLiteral",
"src": "1852:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1842:6:1",
"nodeType": "YulIdentifier",
"src": "1842:6:1"
},
"nativeSrc": "1842:88:1",
"nodeType": "YulFunctionCall",
"src": "1842:88:1"
},
"nativeSrc": "1842:88:1",
"nodeType": "YulExpressionStatement",
"src": "1842:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1946:1:1",
"nodeType": "YulLiteral",
"src": "1946:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1949:4:1",
"nodeType": "YulLiteral",
"src": "1949:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1939:6:1",
"nodeType": "YulIdentifier",
"src": "1939:6:1"
},
"nativeSrc": "1939:15:1",
"nodeType": "YulFunctionCall",
"src": "1939:15:1"
},
"nativeSrc": "1939:15:1",
"nodeType": "YulExpressionStatement",
"src": "1939:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1970:1:1",
"nodeType": "YulLiteral",
"src": "1970:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1973:4:1",
"nodeType": "YulLiteral",
"src": "1973:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1963:6:1",
"nodeType": "YulIdentifier",
"src": "1963:6:1"
},
"nativeSrc": "1963:15:1",
"nodeType": "YulFunctionCall",
"src": "1963:15:1"
},
"nativeSrc": "1963:15:1",
"nodeType": "YulExpressionStatement",
"src": "1963:15:1"
}
]
},
"name": "panic_error_0x12",
"nativeSrc": "1804:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1804:180:1"
},
{
"body": {
"nativeSrc": "2024:142:1",
"nodeType": "YulBlock",
"src": "2024:142:1",
"statements": [
{
"nativeSrc": "2034:25:1",
"nodeType": "YulAssignment",
"src": "2034:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "2057:1:1",
"nodeType": "YulIdentifier",
"src": "2057:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2039:17:1",
"nodeType": "YulIdentifier",
"src": "2039:17:1"
},
"nativeSrc": "2039:20:1",
"nodeType": "YulFunctionCall",
"src": "2039:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "2034:1:1",
"nodeType": "YulIdentifier",
"src": "2034:1:1"
}
]
},
{
"nativeSrc": "2068:25:1",
"nodeType": "YulAssignment",
"src": "2068:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "2091:1:1",
"nodeType": "YulIdentifier",
"src": "2091:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2073:17:1",
"nodeType": "YulIdentifier",
"src": "2073:17:1"
},
"nativeSrc": "2073:20:1",
"nodeType": "YulFunctionCall",
"src": "2073:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "2068:1:1",
"nodeType": "YulIdentifier",
"src": "2068:1:1"
}
]
},
{
"body": {
"nativeSrc": "2115:22:1",
"nodeType": "YulBlock",
"src": "2115:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nativeSrc": "2117:16:1",
"nodeType": "YulIdentifier",
"src": "2117:16:1"
},
"nativeSrc": "2117:18:1",
"nodeType": "YulFunctionCall",
"src": "2117:18:1"
},
"nativeSrc": "2117:18:1",
"nodeType": "YulExpressionStatement",
"src": "2117:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nativeSrc": "2112:1:1",
"nodeType": "YulIdentifier",
"src": "2112:1:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2105:6:1",
"nodeType": "YulIdentifier",
"src": "2105:6:1"
},
"nativeSrc": "2105:9:1",
"nodeType": "YulFunctionCall",
"src": "2105:9:1"
},
"nativeSrc": "2102:35:1",
"nodeType": "YulIf",
"src": "2102:35:1"
},
{
"nativeSrc": "2146:14:1",
"nodeType": "YulAssignment",
"src": "2146:14:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "2155:1:1",
"nodeType": "YulIdentifier",
"src": "2155:1:1"
},
{
"name": "y",
"nativeSrc": "2158:1:1",
"nodeType": "YulIdentifier",
"src": "2158:1:1"
}
],
"functionName": {
"name": "mod",
"nativeSrc": "2151:3:1",
"nodeType": "YulIdentifier",
"src": "2151:3:1"
},
"nativeSrc": "2151:9:1",
"nodeType": "YulFunctionCall",
"src": "2151:9:1"
},
"variableNames": [
{
"name": "r",
"nativeSrc": "2146:1:1",
"nodeType": "YulIdentifier",
"src": "2146:1:1"
}
]
}
]
},
"name": "mod_t_uint256",
"nativeSrc": "1990:176:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "2013:1:1",
"nodeType": "YulTypedName",
"src": "2013:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "2016:1:1",
"nodeType": "YulTypedName",
"src": "2016:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nativeSrc": "2022:1:1",
"nodeType": "YulTypedName",
"src": "2022:1:1",
"type": ""
}
],
"src": "1990:176: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 cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806319c5e07a146100435780632fbebd381461007357806355278c5b146100a3575b5f5ffd5b61005d60048036038101906100589190610179565b6100d3565b60405161006a91906101be565b60405180910390f35b61008d60048036038101906100889190610179565b6100f7565b60405161009a91906101e6565b60405180910390f35b6100bd60048036038101906100b89190610179565b610125565b6040516100ca91906101e6565b60405180910390f35b5f5f6002836100e2919061022c565b146100ed575f6100f0565b60015b9050919050565b5f600a821015610109575f9050610120565b601482101561011b5760019050610120565b600290505b919050565b5f600a8210610135576002610138565b60015b60ff169050919050565b5f5ffd5b5f819050919050565b61015881610146565b8114610162575f5ffd5b50565b5f813590506101738161014f565b92915050565b5f6020828403121561018e5761018d610142565b5b5f61019b84828501610165565b91505092915050565b5f8115159050919050565b6101b8816101a4565b82525050565b5f6020820190506101d15f8301846101af565b92915050565b6101e081610146565b82525050565b5f6020820190506101f95f8301846101d7565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61023682610146565b915061024183610146565b925082610251576102506101ff565b5b82820690509291505056fea26469706673582212200314748ffa5356949cb2eebf077be0fe972c6bfb58cd89e324287fea0b7159fc64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x19C5E07A EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x2FBEBD38 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0x55278C5B EQ PUSH2 0xA3 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x179 JUMP JUMPDEST PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6A SWAP2 SWAP1 PUSH2 0x1BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x179 JUMP JUMPDEST PUSH2 0xF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x1E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x179 JUMP JUMPDEST PUSH2 0x125 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x1E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 PUSH0 PUSH1 0x2 DUP4 PUSH2 0xE2 SWAP2 SWAP1 PUSH2 0x22C JUMP JUMPDEST EQ PUSH2 0xED JUMPI PUSH0 PUSH2 0xF0 JUMP JUMPDEST PUSH1 0x1 JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA DUP3 LT ISZERO PUSH2 0x109 JUMPI PUSH0 SWAP1 POP PUSH2 0x120 JUMP JUMPDEST PUSH1 0x14 DUP3 LT ISZERO PUSH2 0x11B JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x120 JUMP JUMPDEST PUSH1 0x2 SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA DUP3 LT PUSH2 0x135 JUMPI PUSH1 0x2 PUSH2 0x138 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x158 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP2 EQ PUSH2 0x162 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x173 DUP2 PUSH2 0x14F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18E JUMPI PUSH2 0x18D PUSH2 0x142 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x19B DUP5 DUP3 DUP6 ADD PUSH2 0x165 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B8 DUP2 PUSH2 0x1A4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D1 PUSH0 DUP4 ADD DUP5 PUSH2 0x1AF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F9 PUSH0 DUP4 ADD DUP5 PUSH2 0x1D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x236 DUP3 PUSH2 0x146 JUMP JUMPDEST SWAP2 POP PUSH2 0x241 DUP4 PUSH2 0x146 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x251 JUMPI PUSH2 0x250 PUSH2 0x1FF JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB EQ PUSH21 0x8FFA5356949CB2EEBF077BE0FE972C6BFB58CD89E3 0x24 0x28 PUSH32 0xEA0B7159FC64736F6C634300081E003300000000000000000000000000000000 ",
"sourceMap": "57:572:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;526:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;79:199;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;284:232;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:101;574:4;604:1;599;597;:3;;;;:::i;:::-;:8;:23;;615:5;597:23;;;608:4;597:23;590:30;;526:101;;;:::o;79:199::-;121:4;145:2;141:1;:6;137:135;;;170:1;163:8;;;;137:135;196:2;192:1;:6;188:84;;;221:1;214:8;;;;188:84;260:1;253:8;;79:199;;;;:::o;284:232::-;331:4;499:2;494;:7;:15;;508:1;494:15;;;504:1;494:15;487:22;;;;284:232;;;:::o;88:117:1:-;197:1;194;187: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:90::-;1059:7;1102:5;1095:13;1088:21;1077:32;;1025:90;;;:::o;1121:109::-;1202:21;1217:5;1202:21;:::i;:::-;1197:3;1190:34;1121:109;;:::o;1236:210::-;1323:4;1361:2;1350:9;1346:18;1338:26;;1374:65;1436:1;1425:9;1421:17;1412:6;1374:65;:::i;:::-;1236:210;;;;:::o;1452:118::-;1539:24;1557:5;1539:24;:::i;:::-;1534:3;1527:37;1452:118;;:::o;1576:222::-;1669:4;1707:2;1696:9;1692:18;1684:26;;1720:71;1788:1;1777:9;1773:17;1764:6;1720:71;:::i;:::-;1576:222;;;;:::o;1804:180::-;1852:77;1849:1;1842:88;1949:4;1946:1;1939:15;1973:4;1970:1;1963:15;1990:176;2022:1;2039:20;2057:1;2039:20;:::i;:::-;2034:25;;2073:20;2091:1;2073:20;:::i;:::-;2068:25;;2112:1;2102:35;;2117:18;;:::i;:::-;2102:35;2158:1;2155;2151:9;2146:14;;1990:176;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "131600",
"executionCost": "175",
"totalCost": "131775"
},
"external": {
"evenCheck(uint256)": "infinite",
"foo(uint256)": "infinite",
"ternary(uint256)": "infinite"
}
},
"methodIdentifiers": {
"evenCheck(uint256)": "19c5e07a",
"foo(uint256)": "2fbebd38",
"ternary(uint256)": "55278c5b"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "evenCheck",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "foo",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "ternary",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "evenCheck",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "foo",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "ternary",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/7.1 Control Flow - If/Else/ifElse_answer.sol": "IfElse"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/7.1 Control Flow - If/Else/ifElse_answer.sol": {
"keccak256": "0x8e440f7bc3cce9a9ac0602c09deb77bc2efb738a99352b90e21f35249459df36",
"license": "MIT",
"urls": [
"bzz-raw://c2aa77fb65f599d05d376bf4eac9843a57cb09afc317cc343716da7f878254f6",
"dweb:/ipfs/QmNSPLKs8w5Trzzb4d9nhQ6sjsyQe7AGpcTVWzozpFDmLD"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "60806040525f805461010161ffff199091161790556101c86001819055607b6002556003805460ff191660ff179055600455607a19600555600680546001600160a01b03191673ca35b7d915458ef540ade6068dfe2f44e8fa733c1790553480156067575f5ffd5b506101e3806100755f395ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c8063767800de1161006e578063767800de1461011c578063921cda7414610147578063ab3a58a314610165578063c6a898c514610188578063e5aa3d5814610191578063f2427d371461019a575f5ffd5b8063074eef3f146100b55780631570c2cb146100de578063459b1acf146100f55780634b3df200146100fe5780634c27fd621461010a5780635abe622b14610113575b5f5ffd5b6006546100c990600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b6100e760075481565b6040519081526020016100d5565b6100e760015481565b5f546100c99060ff1681565b6100e760045481565b6100e760085481565b60065461012f906001600160a01b031681565b6040516001600160a01b0390911681526020016100d5565b600354610153905f0b81565b6040515f9190910b81526020016100d5565b5f5461017690610100900460ff1681565b60405160ff90911681526020016100d5565b6100e760025481565b6100e760055481565b60095461012f906001600160a01b03168156fea2646970667358221220aa26ca687f6fa4bb4e49b364d2413f3d79cbb1397fec83947d5ffa59f6ab145e64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 SLOAD PUSH2 0x101 PUSH2 0xFFFF NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH2 0x1C8 PUSH1 0x1 DUP2 SWAP1 SSTORE PUSH1 0x7B PUSH1 0x2 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF OR SWAP1 SSTORE PUSH1 0x4 SSTORE PUSH1 0x7A NOT PUSH1 0x5 SSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH20 0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C OR SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH1 0x67 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x1E3 DUP1 PUSH2 0x75 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB1 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x767800DE GT PUSH2 0x6E JUMPI DUP1 PUSH4 0x767800DE EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x921CDA74 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xAB3A58A3 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0xC6A898C5 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0xE5AA3D58 EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0xF2427D37 EQ PUSH2 0x19A JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP1 PUSH4 0x74EEF3F EQ PUSH2 0xB5 JUMPI DUP1 PUSH4 0x1570C2CB EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x459B1ACF EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0x4B3DF200 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x4C27FD62 EQ PUSH2 0x10A JUMPI DUP1 PUSH4 0x5ABE622B EQ PUSH2 0x113 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH2 0xC9 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE7 PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH0 SLOAD PUSH2 0xC9 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x12F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x153 SWAP1 PUSH0 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH0 SWAP2 SWAP1 SWAP2 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH0 SLOAD PUSH2 0x176 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH2 0x12F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAA 0x26 0xCA PUSH9 0x7F6FA4BB4E49B364D2 COINBASE EXTCODEHASH RETURNDATASIZE PUSH26 0xCBB1397FEC83947D5FFA59F6AB145E64736F6C634300081E0033 ",
"sourceMap": "57:980:0:-:0;;;83:22;;;375:19;-1:-1:-1;;375:19:0;;;;;;419:3;101:4;400:22;;;444:3;428:19;;614;;;-1:-1:-1;;614:19:0;83:22;614:19;;;639:21;;-1:-1:-1;;666:19:0;;717:64;;;-1:-1:-1;;;;;;717:64:0;739:42;717:64;;;57:980;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addr_27": {
"entryPoint": null,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@boo_4": {
"entryPoint": null,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@defaultAddr_35": {
"entryPoint": null,
"id": 35,
"parameterSlots": 0,
"returnSlots": 0
},
"@defaultBoo_29": {
"entryPoint": null,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
},
"@defaultInt_33": {
"entryPoint": null,
"id": 33,
"parameterSlots": 0,
"returnSlots": 0
},
"@defaultUint_31": {
"entryPoint": null,
"id": 31,
"parameterSlots": 0,
"returnSlots": 0
},
"@i256_20": {
"entryPoint": null,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
},
"@i8_17": {
"entryPoint": null,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@i_24": {
"entryPoint": null,
"id": 24,
"parameterSlots": 0,
"returnSlots": 0
},
"@u256_10": {
"entryPoint": null,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"@u8_7": {
"entryPoint": null,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@u_13": {
"entryPoint": null,
"id": 13,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_int8__to_t_int8__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1153:1",
"nodeType": "YulBlock",
"src": "0:1153:1",
"statements": [
{
"nativeSrc": "6:3:1",
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nativeSrc": "109:92:1",
"nodeType": "YulBlock",
"src": "109:92:1",
"statements": [
{
"nativeSrc": "119:26:1",
"nodeType": "YulAssignment",
"src": "119:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "131:9:1",
"nodeType": "YulIdentifier",
"src": "131:9:1"
},
{
"kind": "number",
"nativeSrc": "142:2:1",
"nodeType": "YulLiteral",
"src": "142:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "127:3:1",
"nodeType": "YulIdentifier",
"src": "127:3:1"
},
"nativeSrc": "127:18:1",
"nodeType": "YulFunctionCall",
"src": "127:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "119:4:1",
"nodeType": "YulIdentifier",
"src": "119:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "161:9:1",
"nodeType": "YulIdentifier",
"src": "161:9:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value0",
"nativeSrc": "186:6:1",
"nodeType": "YulIdentifier",
"src": "186:6:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "179:6:1",
"nodeType": "YulIdentifier",
"src": "179:6:1"
},
"nativeSrc": "179:14:1",
"nodeType": "YulFunctionCall",
"src": "179:14:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "172:6:1",
"nodeType": "YulIdentifier",
"src": "172:6:1"
},
"nativeSrc": "172:22:1",
"nodeType": "YulFunctionCall",
"src": "172:22:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "154:6:1",
"nodeType": "YulIdentifier",
"src": "154:6:1"
},
"nativeSrc": "154:41:1",
"nodeType": "YulFunctionCall",
"src": "154:41:1"
},
"nativeSrc": "154:41:1",
"nodeType": "YulExpressionStatement",
"src": "154:41:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "14:187:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "78:9:1",
"nodeType": "YulTypedName",
"src": "78:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "89:6:1",
"nodeType": "YulTypedName",
"src": "89:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "100:4:1",
"nodeType": "YulTypedName",
"src": "100:4:1",
"type": ""
}
],
"src": "14:187:1"
},
{
"body": {
"nativeSrc": "307:76:1",
"nodeType": "YulBlock",
"src": "307:76:1",
"statements": [
{
"nativeSrc": "317:26:1",
"nodeType": "YulAssignment",
"src": "317:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "329:9:1",
"nodeType": "YulIdentifier",
"src": "329:9:1"
},
{
"kind": "number",
"nativeSrc": "340:2:1",
"nodeType": "YulLiteral",
"src": "340:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "325:3:1",
"nodeType": "YulIdentifier",
"src": "325:3:1"
},
"nativeSrc": "325:18:1",
"nodeType": "YulFunctionCall",
"src": "325:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "317:4:1",
"nodeType": "YulIdentifier",
"src": "317:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "359:9:1",
"nodeType": "YulIdentifier",
"src": "359:9:1"
},
{
"name": "value0",
"nativeSrc": "370:6:1",
"nodeType": "YulIdentifier",
"src": "370:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "352:6:1",
"nodeType": "YulIdentifier",
"src": "352:6:1"
},
"nativeSrc": "352:25:1",
"nodeType": "YulFunctionCall",
"src": "352:25:1"
},
"nativeSrc": "352:25:1",
"nodeType": "YulExpressionStatement",
"src": "352:25:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "206:177:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "276:9:1",
"nodeType": "YulTypedName",
"src": "276:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "287:6:1",
"nodeType": "YulTypedName",
"src": "287:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "298:4:1",
"nodeType": "YulTypedName",
"src": "298:4:1",
"type": ""
}
],
"src": "206:177:1"
},
{
"body": {
"nativeSrc": "487:76:1",
"nodeType": "YulBlock",
"src": "487:76:1",
"statements": [
{
"nativeSrc": "497:26:1",
"nodeType": "YulAssignment",
"src": "497:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "509:9:1",
"nodeType": "YulIdentifier",
"src": "509:9:1"
},
{
"kind": "number",
"nativeSrc": "520:2:1",
"nodeType": "YulLiteral",
"src": "520:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "505:3:1",
"nodeType": "YulIdentifier",
"src": "505:3:1"
},
"nativeSrc": "505:18:1",
"nodeType": "YulFunctionCall",
"src": "505:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "497:4:1",
"nodeType": "YulIdentifier",
"src": "497:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "539:9:1",
"nodeType": "YulIdentifier",
"src": "539:9:1"
},
{
"name": "value0",
"nativeSrc": "550:6:1",
"nodeType": "YulIdentifier",
"src": "550:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "532:6:1",
"nodeType": "YulIdentifier",
"src": "532:6:1"
},
"nativeSrc": "532:25:1",
"nodeType": "YulFunctionCall",
"src": "532:25:1"
},
"nativeSrc": "532:25:1",
"nodeType": "YulExpressionStatement",
"src": "532:25:1"
}
]
},
"name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed",
"nativeSrc": "388:175:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "456:9:1",
"nodeType": "YulTypedName",
"src": "456:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "467:6:1",
"nodeType": "YulTypedName",
"src": "467:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "478:4:1",
"nodeType": "YulTypedName",
"src": "478:4:1",
"type": ""
}
],
"src": "388:175:1"
},
{
"body": {
"nativeSrc": "669:102:1",
"nodeType": "YulBlock",
"src": "669:102:1",
"statements": [
{
"nativeSrc": "679:26:1",
"nodeType": "YulAssignment",
"src": "679:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "691:9:1",
"nodeType": "YulIdentifier",
"src": "691:9:1"
},
{
"kind": "number",
"nativeSrc": "702:2:1",
"nodeType": "YulLiteral",
"src": "702:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "687:3:1",
"nodeType": "YulIdentifier",
"src": "687:3:1"
},
"nativeSrc": "687:18:1",
"nodeType": "YulFunctionCall",
"src": "687:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "679:4:1",
"nodeType": "YulIdentifier",
"src": "679:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "721:9:1",
"nodeType": "YulIdentifier",
"src": "721:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "736:6:1",
"nodeType": "YulIdentifier",
"src": "736:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "752:3:1",
"nodeType": "YulLiteral",
"src": "752:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nativeSrc": "757:1:1",
"nodeType": "YulLiteral",
"src": "757:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "748:3:1",
"nodeType": "YulIdentifier",
"src": "748:3:1"
},
"nativeSrc": "748:11:1",
"nodeType": "YulFunctionCall",
"src": "748:11:1"
},
{
"kind": "number",
"nativeSrc": "761:1:1",
"nodeType": "YulLiteral",
"src": "761:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "744:3:1",
"nodeType": "YulIdentifier",
"src": "744:3:1"
},
"nativeSrc": "744:19:1",
"nodeType": "YulFunctionCall",
"src": "744:19:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "732:3:1",
"nodeType": "YulIdentifier",
"src": "732:3:1"
},
"nativeSrc": "732:32:1",
"nodeType": "YulFunctionCall",
"src": "732:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "714:6:1",
"nodeType": "YulIdentifier",
"src": "714:6:1"
},
"nativeSrc": "714:51:1",
"nodeType": "YulFunctionCall",
"src": "714:51:1"
},
"nativeSrc": "714:51:1",
"nodeType": "YulExpressionStatement",
"src": "714:51:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "568:203:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "638:9:1",
"nodeType": "YulTypedName",
"src": "638:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "649:6:1",
"nodeType": "YulTypedName",
"src": "649:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "660:4:1",
"nodeType": "YulTypedName",
"src": "660:4:1",
"type": ""
}
],
"src": "568:203:1"
},
{
"body": {
"nativeSrc": "871:91:1",
"nodeType": "YulBlock",
"src": "871:91:1",
"statements": [
{
"nativeSrc": "881:26:1",
"nodeType": "YulAssignment",
"src": "881:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "893:9:1",
"nodeType": "YulIdentifier",
"src": "893:9:1"
},
{
"kind": "number",
"nativeSrc": "904:2:1",
"nodeType": "YulLiteral",
"src": "904:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "889:3:1",
"nodeType": "YulIdentifier",
"src": "889:3:1"
},
"nativeSrc": "889:18:1",
"nodeType": "YulFunctionCall",
"src": "889:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "881:4:1",
"nodeType": "YulIdentifier",
"src": "881:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "923:9:1",
"nodeType": "YulIdentifier",
"src": "923:9:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "945:1:1",
"nodeType": "YulLiteral",
"src": "945:1:1",
"type": "",
"value": "0"
},
{
"name": "value0",
"nativeSrc": "948:6:1",
"nodeType": "YulIdentifier",
"src": "948:6:1"
}
],
"functionName": {
"name": "signextend",
"nativeSrc": "934:10:1",
"nodeType": "YulIdentifier",
"src": "934:10:1"
},
"nativeSrc": "934:21:1",
"nodeType": "YulFunctionCall",
"src": "934:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "916:6:1",
"nodeType": "YulIdentifier",
"src": "916:6:1"
},
"nativeSrc": "916:40:1",
"nodeType": "YulFunctionCall",
"src": "916:40:1"
},
"nativeSrc": "916:40:1",
"nodeType": "YulExpressionStatement",
"src": "916:40:1"
}
]
},
"name": "abi_encode_tuple_t_int8__to_t_int8__fromStack_reversed",
"nativeSrc": "776:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "840:9:1",
"nodeType": "YulTypedName",
"src": "840:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "851:6:1",
"nodeType": "YulTypedName",
"src": "851:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "862:4:1",
"nodeType": "YulTypedName",
"src": "862:4:1",
"type": ""
}
],
"src": "776:186:1"
},
{
"body": {
"nativeSrc": "1064:87:1",
"nodeType": "YulBlock",
"src": "1064:87:1",
"statements": [
{
"nativeSrc": "1074:26:1",
"nodeType": "YulAssignment",
"src": "1074:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1086:9:1",
"nodeType": "YulIdentifier",
"src": "1086:9:1"
},
{
"kind": "number",
"nativeSrc": "1097:2:1",
"nodeType": "YulLiteral",
"src": "1097:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1082:3:1",
"nodeType": "YulIdentifier",
"src": "1082:3:1"
},
"nativeSrc": "1082:18:1",
"nodeType": "YulFunctionCall",
"src": "1082:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1074:4:1",
"nodeType": "YulIdentifier",
"src": "1074:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1116:9:1",
"nodeType": "YulIdentifier",
"src": "1116:9:1"
},
{
"arguments": [
{
"name": "value0",
"nativeSrc": "1131:6:1",
"nodeType": "YulIdentifier",
"src": "1131:6:1"
},
{
"kind": "number",
"nativeSrc": "1139:4:1",
"nodeType": "YulLiteral",
"src": "1139:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1127:3:1",
"nodeType": "YulIdentifier",
"src": "1127:3:1"
},
"nativeSrc": "1127:17:1",
"nodeType": "YulFunctionCall",
"src": "1127:17:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1109:6:1",
"nodeType": "YulIdentifier",
"src": "1109:6:1"
},
"nativeSrc": "1109:36:1",
"nodeType": "YulFunctionCall",
"src": "1109:36:1"
},
"nativeSrc": "1109:36:1",
"nodeType": "YulExpressionStatement",
"src": "1109:36:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nativeSrc": "967:184:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1033:9:1",
"nodeType": "YulTypedName",
"src": "1033:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1044:6:1",
"nodeType": "YulTypedName",
"src": "1044:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1055:4:1",
"nodeType": "YulTypedName",
"src": "1055:4:1",
"type": ""
}
],
"src": "967:184:1"
}
]
},
"contents": "{\n { }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_int8__to_t_int8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, signextend(0, value0))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c8063767800de1161006e578063767800de1461011c578063921cda7414610147578063ab3a58a314610165578063c6a898c514610188578063e5aa3d5814610191578063f2427d371461019a575f5ffd5b8063074eef3f146100b55780631570c2cb146100de578063459b1acf146100f55780634b3df200146100fe5780634c27fd621461010a5780635abe622b14610113575b5f5ffd5b6006546100c990600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b6100e760075481565b6040519081526020016100d5565b6100e760015481565b5f546100c99060ff1681565b6100e760045481565b6100e760085481565b60065461012f906001600160a01b031681565b6040516001600160a01b0390911681526020016100d5565b600354610153905f0b81565b6040515f9190910b81526020016100d5565b5f5461017690610100900460ff1681565b60405160ff90911681526020016100d5565b6100e760025481565b6100e760055481565b60095461012f906001600160a01b03168156fea2646970667358221220aa26ca687f6fa4bb4e49b364d2413f3d79cbb1397fec83947d5ffa59f6ab145e64736f6c634300081e0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB1 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x767800DE GT PUSH2 0x6E JUMPI DUP1 PUSH4 0x767800DE EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x921CDA74 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xAB3A58A3 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0xC6A898C5 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0xE5AA3D58 EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0xF2427D37 EQ PUSH2 0x19A JUMPI PUSH0 PUSH0 REVERT JUMPDEST DUP1 PUSH4 0x74EEF3F EQ PUSH2 0xB5 JUMPI DUP1 PUSH4 0x1570C2CB EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x459B1ACF EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0x4B3DF200 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x4C27FD62 EQ PUSH2 0x10A JUMPI DUP1 PUSH4 0x5ABE622B EQ PUSH2 0x113 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH2 0xC9 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE7 PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH0 SLOAD PUSH2 0xC9 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x12F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x153 SWAP1 PUSH0 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH0 SWAP2 SWAP1 SWAP2 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH0 SLOAD PUSH2 0x176 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD5 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xE7 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH2 0x12F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAA 0x26 0xCA PUSH9 0x7F6FA4BB4E49B364D2 COINBASE EXTCODEHASH RETURNDATASIZE PUSH26 0xCBB1397FEC83947D5FFA59F6AB145E64736F6C634300081E0033 ",
"sourceMap": "57:980:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:22;;;;;-1:-1:-1;;;859:22:0;;;;;;;;;179:14:1;;172:22;154:41;;142:2;127:18;859:22:0;;;;;;;;896:23;;;;;;;;;352:25:1;;;340:2;325:18;896:23:0;206:177:1;400:22:0;;;;;;83;;;;;;;;;639:21;;;;;;930;;;;;;717:64;;;;;-1:-1:-1;;;;;717:64:0;;;;;;-1:-1:-1;;;;;732:32:1;;;714:51;;702:2;687:18;717:64:0;568:203:1;614:19:0;;;;;;;;;;;;862:4:1;934:21;;;;916:40;;904:2;889:18;614:19:0;776:186:1;375:19:0;;;;;;;;;;;;;;;1139:4:1;1127:17;;;1109:36;;1097:2;1082:18;375:19:0;967:184:1;428:19:0;;;;;;666;;;;;;962:26;;;;;-1:-1:-1;;;;;962:26:0;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "96600",
"executionCost": "161264",
"totalCost": "257864"
},
"external": {
"addr()": "2336",
"boo()": "2364",
"defaultAddr()": "2446",
"defaultBoo()": "2316",
"defaultInt()": "2405",
"defaultUint()": "2317",
"i()": "2382",
"i256()": "2383",
"i8()": "2339",
"u()": "2360",
"u256()": "2339",
"u8()": "2366"
}
},
"methodIdentifiers": {
"addr()": "767800de",
"boo()": "4b3df200",
"defaultAddr()": "f2427d37",
"defaultBoo()": "074eef3f",
"defaultInt()": "5abe622b",
"defaultUint()": "1570c2cb",
"i()": "e5aa3d58",
"i256()": "4c27fd62",
"i8()": "921cda74",
"u()": "c6a898c5",
"u256()": "459b1acf",
"u8()": "ab3a58a3"
}
},
"abi": [
{
"inputs": [],
"name": "addr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "boo",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultAddr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultBoo",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultInt",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "i",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "i256",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "i8",
"outputs": [
{
"internalType": "int8",
"name": "",
"type": "int8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "u",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "u256",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "u8",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "addr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "boo",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultAddr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultBoo",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultInt",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "i",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "i256",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "i8",
"outputs": [
{
"internalType": "int8",
"name": "",
"type": "int8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "u",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "u256",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "u8",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"remix-project-org/remix-workshops/3. Primitive Data Types/primitiveDataTypes.sol": "Primitives"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"remix-project-org/remix-workshops/3. Primitive Data Types/primitiveDataTypes.sol": {
"keccak256": "0x7d86e3fd22d920286068027cf1b4db85dece757dd554b29e7a596cc791024391",
"license": "MIT",
"urls": [
"bzz-raw://ea5df7f0d4bc4377494b115bcef4362e2d1da3e6f2ff2aac07e86d21b1823aaf",
"dweb:/ipfs/QmQCc7WFaGUS38yK8T7s3zANuTxupZYkrJzz2acrS4E4Am"
]
}
},
"version": 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.)

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.)

This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 242,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 94,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 530,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 368,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 496,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 386,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 667,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 260,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 194,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 640,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 377,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 612,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 149,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 104,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 419,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 275,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 600,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 472,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 287,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 428,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 465,
"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",
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.)

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.)

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.)

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.)

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