From abd6f233069254fb4af4eb1aa012aea60ba921b3 Mon Sep 17 00:00:00 2001 From: Awais Mohammad Date: Sat, 6 Jan 2024 15:57:14 +0500 Subject: [PATCH 1/2] contracts added --- Project2/.vscode/settings.json | 3 + Project2/build/contracts/ERC20.json | 4962 +++++ Project2/build/contracts/FASTCOIN.json | 10255 +++++++++ .../contracts/OrderProcessingContract.json | 16804 +++++++++++++++ .../contracts/discountsAndPromotions.json | 17104 ++++++++++++++++ Project2/build/contracts/menuManagement.json | 12620 ++++++++++++ .../build/contracts/rewardsAndLoyalty.json | 3133 +++ Project2/contracts/.gitkeep | 0 Project2/contracts/FASTCOIN.sol | 85 + .../contracts/OrderProcessingContract.sol | 48 + Project2/contracts/discountsAndPromotions.sol | 56 + Project2/contracts/menuManagement.sol | 65 + Project2/contracts/rewardsAndLoyalty.sol | 20 + Project2/migrations/.gitkeep | 0 Project2/migrations/1_menuManagement.js | 5 + Project2/migrations/2_rewardsAndLoyalty.js | 5 + Project2/migrations/3_FASTCOIN.js | 6 + .../migrations/4_discountsAndPromotions.js | 4 + .../migrations/5_OrderProcessingContract.js | 5 + Project2/project2 | 1 + Project2/test/.gitkeep | 0 Project2/truffle-config.js | 141 + README.md | 94 - main.go | 12 - 24 files changed, 65322 insertions(+), 106 deletions(-) create mode 100644 Project2/.vscode/settings.json create mode 100644 Project2/build/contracts/ERC20.json create mode 100644 Project2/build/contracts/FASTCOIN.json create mode 100644 Project2/build/contracts/OrderProcessingContract.json create mode 100644 Project2/build/contracts/discountsAndPromotions.json create mode 100644 Project2/build/contracts/menuManagement.json create mode 100644 Project2/build/contracts/rewardsAndLoyalty.json create mode 100644 Project2/contracts/.gitkeep create mode 100644 Project2/contracts/FASTCOIN.sol create mode 100644 Project2/contracts/OrderProcessingContract.sol create mode 100644 Project2/contracts/discountsAndPromotions.sol create mode 100644 Project2/contracts/menuManagement.sol create mode 100644 Project2/contracts/rewardsAndLoyalty.sol create mode 100644 Project2/migrations/.gitkeep create mode 100644 Project2/migrations/1_menuManagement.js create mode 100644 Project2/migrations/2_rewardsAndLoyalty.js create mode 100644 Project2/migrations/3_FASTCOIN.js create mode 100644 Project2/migrations/4_discountsAndPromotions.js create mode 100644 Project2/migrations/5_OrderProcessingContract.js create mode 160000 Project2/project2 create mode 100644 Project2/test/.gitkeep create mode 100644 Project2/truffle-config.js delete mode 100644 README.md delete mode 100644 main.go diff --git a/Project2/.vscode/settings.json b/Project2/.vscode/settings.json new file mode 100644 index 0000000..094dda2 --- /dev/null +++ b/Project2/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "solidity.compileUsingRemoteVersion": "v0.8.16+commit.07a7930e" +} \ No newline at end of file diff --git a/Project2/build/contracts/ERC20.json b/Project2/build/contracts/ERC20.json new file mode 100644 index 0000000..06fa245 --- /dev/null +++ b/Project2/build/contracts/ERC20.json @@ -0,0 +1,4962 @@ +{ + "contractName": "ERC20", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/FASTCOIN.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/FASTCOIN.sol\":{\"keccak256\":\"0x3882d4d399886c33f3323298337e32eac6b9ed33c0c22cdf42fd329217a45296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2a81bfcde4371ffa14fabd1378352d2a652c81882949507256149178611fe62\",\"dweb:/ipfs/QmbHjBEZSASn9g2WXNKEwGnsBSo8qa9h4zq59k7sC9MZnA\"]},\"project:/contracts/rewardsAndLoyalty.sol\":{\"keccak256\":\"0x4f1189706a0b4e140b2c08e3fa1cef57d172eaf5dc91424695454a40bc2ce81a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01aac466bced16e8eaf76db8b8a131df1981d75629fe1f711cba21c0b9d57a15\",\"dweb:/ipfs/QmbFQCLLenEYn1Wj6mXfTkofjFAWfwAwXg7vpLR8jByBXN\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "//SPDX-License-Identifier:MIT\r\npragma solidity >=0.8.10 <0.8.20;\r\nimport \"./rewardsAndLoyalty.sol\";\r\ninterface ERC20 {\r\n function totalSupply() external view returns (uint256);\r\n function balanceOf(address account) external view returns (uint256);\r\n function transfer(address recipient, uint256 amount) external returns (bool);\r\n function allowance(address owner, address spender) external view returns (uint256);\r\n function approve(address spender, uint256 value) external returns (bool);\r\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\r\n event Transfer(address from, address to, uint256 value);\r\n event Approval(address owner, address spender, uint256 value);\r\n}\r\n\r\ncontract FASTCOIN is ERC20 {\r\n uint numTokens;\r\n mapping(address=>uint) balance;\r\n mapping(address=>uint) paymenttime;\r\n mapping(address=> mapping(address=>uint)) approvalLimit;\r\n mapping(address=>uint)daystreak;\r\n rewardsAndLoyalty public RAL;\r\n constructor (uint _numTokens) {\r\n numTokens = _numTokens;\r\n balance[msg.sender] = numTokens;\r\n }\r\n\r\n\r\n function totalSupply() external view returns (uint256){\r\n return numTokens;\r\n }\r\n\r\n function balanceOf(address account) external view returns (uint256){\r\n return balance[account];\r\n }\r\n\r\n function transfer(address recipient, uint256 amount) external returns (bool){\r\n require (balance[msg.sender] >= amount) ;\r\n balance[msg.sender] -= amount;\r\n balance[recipient] += amount;\r\n }\r\n\r\n function approve(address spender, uint256 value) external returns (bool){\r\n require (balance[msg.sender] >= value);\r\n approvalLimit[msg.sender][spender] = value;\r\n }\r\n\r\n function allowance(address owner, address spender) external view returns\r\n (uint256){\r\n return approvalLimit[owner][spender];\r\n }\r\n\r\n function transferFrom(address sender, address recipient, uint256 amount) external returns\r\n (bool){\r\n require (amount <= balance[sender]);\r\n require (amount <= approvalLimit[sender][msg.sender]);\r\n paymenttime[sender]=(block.timestamp - paymenttime[sender]) ;\r\n if (paymenttime[sender] > 24 hours){\r\n daystreak[sender]=0;\r\n } else {\r\n uint [] memory stamt = RAL.getsentamount();\r\n uint [] memory rwd = RAL.getreward();\r\n uint [] memory bdystk = RAL.getbuydaysstreak();\r\n uint [] memory rwdbdystk = RAL.getrewardforbuydays();\r\n for (uint i = 0 ; i < stamt.length ; i++){\r\n if (amount > stamt[i]){\r\n balance[sender]+=rwd[i];\r\n break;\r\n }\r\n }\r\n\r\n for (uint i = 0 ; i < bdystk.length ; i++){\r\n if (daystreak[sender] > bdystk[i]){\r\n balance[sender]+=rwdbdystk[i];\r\n break;\r\n }\r\n }\r\n }\r\n balance[sender] -= amount;\r\n balance[recipient] += amount;\r\n approvalLimit[sender][msg.sender] -= amount;\r\n paymenttime[sender]=block.timestamp;\r\n daystreak[sender]+=1;\r\n }\r\n\r\n}", + "sourcePath": "/home/awais/Downloads/Project2/contracts/FASTCOIN.sol", + "ast": { + "absolutePath": "project:/contracts/FASTCOIN.sol", + "exportedSymbols": { + "ERC20": [ + 69 + ], + "FASTCOIN": [ + 395 + ], + "rewardsAndLoyalty": [ + 1246 + ] + }, + "id": 396, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.8", + ".10", + "<", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:33:0" + }, + { + "absolutePath": "project:/contracts/rewardsAndLoyalty.sol", + "file": "./rewardsAndLoyalty.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 396, + "sourceUnit": 1247, + "src": "66:33:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 69, + "linearizedBaseContracts": [ + 69 + ], + "name": "ERC20", + "nameLocation": "111:5:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "18160ddd", + "id": 7, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "133:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "144:2:0" + }, + "returnParameters": { + "id": 6, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "170:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "170:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "169:9:0" + }, + "scope": 69, + "src": "124:55:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "70a08231", + "id": 14, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "194:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "account", + "nameLocation": "212:7:0", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "204:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "204:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "203:17:0" + }, + "returnParameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "244:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "244:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "243:9:0" + }, + "scope": 69, + "src": "185:68:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a9059cbb", + "id": 23, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "268:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "285:9:0", + "nodeType": "VariableDeclaration", + "scope": 23, + "src": "277:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "277:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18, + "mutability": "mutable", + "name": "amount", + "nameLocation": "304:6:0", + "nodeType": "VariableDeclaration", + "scope": 23, + "src": "296:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "296:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "276:35:0" + }, + "returnParameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 23, + "src": "330:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "330:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "329:6:0" + }, + "scope": 69, + "src": "259:77:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "dd62ed3e", + "id": 32, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "351:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "mutability": "mutable", + "name": "owner", + "nameLocation": "369:5:0", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "361:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "361:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "spender", + "nameLocation": "384:7:0", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "376:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "376:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "360:32:0" + }, + "returnParameters": { + "id": 31, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "416:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "416:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "415:9:0" + }, + "scope": 69, + "src": "342:83:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "095ea7b3", + "id": 41, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "440:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 37, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34, + "mutability": "mutable", + "name": "spender", + "nameLocation": "456:7:0", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "448:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "448:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36, + "mutability": "mutable", + "name": "value", + "nameLocation": "473:5:0", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "465:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "465:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "447:32:0" + }, + "returnParameters": { + "id": 40, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 39, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "498:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 38, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "498:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "497:6:0" + }, + "scope": 69, + "src": "431:73:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "23b872dd", + "id": 52, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "519:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43, + "mutability": "mutable", + "name": "sender", + "nameLocation": "540:6:0", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "532:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "532:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "556:9:0", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "548:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "548:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "amount", + "nameLocation": "575:6:0", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "567:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "567:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "531:51:0" + }, + "returnParameters": { + "id": 51, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 50, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "601:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 49, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "601:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "600:6:0" + }, + "scope": 69, + "src": "510:97:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "anonymous": false, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 60, + "name": "Transfer", + "nameLocation": "619:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 59, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "636:4:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "628:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 53, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 56, + "indexed": false, + "mutability": "mutable", + "name": "to", + "nameLocation": "650:2:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "642:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 55, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "642:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 58, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "662:5:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "654:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 57, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "627:41:0" + }, + "src": "613:56:0" + }, + { + "anonymous": false, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 68, + "name": "Approval", + "nameLocation": "681:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "698:5:0", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "690:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "indexed": false, + "mutability": "mutable", + "name": "spender", + "nameLocation": "713:7:0", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "705:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 63, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "705:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 66, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "730:5:0", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "722:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "722:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "689:47:0" + }, + "src": "675:62:0" + } + ], + "scope": 396, + "src": "101:639:0", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 70, + "name": "ERC20", + "nameLocations": [ + "765:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 69, + "src": "765:5:0" + }, + "id": 71, + "nodeType": "InheritanceSpecifier", + "src": "765:5:0" + } + ], + "canonicalName": "FASTCOIN", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 395, + "linearizedBaseContracts": [ + 395, + 69 + ], + "name": "FASTCOIN", + "nameLocation": "753:8:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "numTokens", + "nameLocation": "783:9:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "778:14:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "778:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77, + "mutability": "mutable", + "name": "balance", + "nameLocation": "822:7:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "799:30:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 76, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 74, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "807:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "799:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "816:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 81, + "mutability": "mutable", + "name": "paymenttime", + "nameLocation": "859:11:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "836:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 80, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 78, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "844:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "836:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 79, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "853:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "mutability": "mutable", + "name": "approvalLimit", + "nameLocation": "919:13:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "877:55:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 86, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 82, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "885:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "877:41:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 85, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 83, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "903:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "895:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 84, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "912:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 91, + "mutability": "mutable", + "name": "daystreak", + "nameLocation": "961:9:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "939:31:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 90, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "947:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "939:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 89, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "956:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "0e96c3d8", + "id": 94, + "mutability": "mutable", + "name": "RAL", + "nameLocation": "1002:3:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "977:28:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + }, + "typeName": { + "id": 93, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 92, + "name": "rewardsAndLoyalty", + "nameLocations": [ + "977:17:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1246, + "src": "977:17:0" + }, + "referencedDeclaration": 1246, + "src": "977:17:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 110, + "nodeType": "Block", + "src": "1042:83:0", + "statements": [ + { + "expression": { + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 99, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1053:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 100, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1065:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1053:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 102, + "nodeType": "ExpressionStatement", + "src": "1053:22:0" + }, + { + "expression": { + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 103, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1086:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 106, + "indexExpression": { + "expression": { + "id": 104, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1094:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1098:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1094:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1086:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 107, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1108:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1086:31:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 109, + "nodeType": "ExpressionStatement", + "src": "1086:31:0" + } + ] + }, + "id": 111, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "_numTokens", + "nameLocation": "1030:10:0", + "nodeType": "VariableDeclaration", + "scope": 111, + "src": "1025:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 95, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1025:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1024:17:0" + }, + "returnParameters": { + "id": 98, + "nodeType": "ParameterList", + "parameters": [], + "src": "1042:0:0" + }, + "scope": 395, + "src": "1012:113:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 7 + ], + "body": { + "id": 118, + "nodeType": "Block", + "src": "1189:35:0", + "statements": [ + { + "expression": { + "id": 116, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1207:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 115, + "id": 117, + "nodeType": "Return", + "src": "1200:16:0" + } + ] + }, + "functionSelector": "18160ddd", + "id": 119, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "1144:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1155:2:0" + }, + "returnParameters": { + "id": 115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 119, + "src": "1181:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1181:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1180:9:0" + }, + "scope": 395, + "src": "1135:89:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 14 + ], + "body": { + "id": 130, + "nodeType": "Block", + "src": "1299:42:0", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 126, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1317:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 128, + "indexExpression": { + "id": 127, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1325:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1317:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 125, + "id": 129, + "nodeType": "Return", + "src": "1310:23:0" + } + ] + }, + "functionSelector": "70a08231", + "id": 131, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1241:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121, + "mutability": "mutable", + "name": "account", + "nameLocation": "1259:7:0", + "nodeType": "VariableDeclaration", + "scope": 131, + "src": "1251:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1251:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1250:17:0" + }, + "returnParameters": { + "id": 125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 124, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 131, + "src": "1291:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1291:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1290:9:0" + }, + "scope": 395, + "src": "1232:109:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 23 + ], + "body": { + "id": 162, + "nodeType": "Block", + "src": "1425:138:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 141, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1445:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 144, + "indexExpression": { + "expression": { + "id": 142, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1453:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1457:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1453:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1445:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 145, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1468:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1445:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 140, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1436:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1436:39:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1436:39:0" + }, + { + "expression": { + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 149, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1487:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 152, + "indexExpression": { + "expression": { + "id": 150, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1495:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1499:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1495:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1487:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 153, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1510:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1487:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 155, + "nodeType": "ExpressionStatement", + "src": "1487:29:0" + }, + { + "expression": { + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 156, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1527:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 158, + "indexExpression": { + "id": 157, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "1535:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1527:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 159, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1549:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1527:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 161, + "nodeType": "ExpressionStatement", + "src": "1527:28:0" + } + ] + }, + "functionSelector": "a9059cbb", + "id": 163, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1358:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1375:9:0", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1367:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1367:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 135, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1394:6:0", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1386:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1386:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1366:35:0" + }, + "returnParameters": { + "id": 139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1420:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 137, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1420:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1419:6:0" + }, + "scope": 395, + "src": "1349:214:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 41 + ], + "body": { + "id": 190, + "nodeType": "Block", + "src": "1643:110:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 173, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1663:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 176, + "indexExpression": { + "expression": { + "id": 174, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1671:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1675:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1671:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1663:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 177, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "1686:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1663:28:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1654:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 180, + "nodeType": "ExpressionStatement", + "src": "1654:38:0" + }, + { + "expression": { + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 181, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1703:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 185, + "indexExpression": { + "expression": { + "id": 182, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1717:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1721:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1717:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1703:25:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 186, + "indexExpression": { + "id": 184, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 165, + "src": "1729:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1703:34:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 187, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "1740:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1703:42:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 189, + "nodeType": "ExpressionStatement", + "src": "1703:42:0" + } + ] + }, + "functionSelector": "095ea7b3", + "id": 191, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "1580:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 165, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1596:7:0", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1588:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1588:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 167, + "mutability": "mutable", + "name": "value", + "nameLocation": "1613:5:0", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1605:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1605:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1587:32:0" + }, + "returnParameters": { + "id": 171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 170, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1638:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1638:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1637:6:0" + }, + "scope": 395, + "src": "1571:182:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 32 + ], + "body": { + "id": 206, + "nodeType": "Block", + "src": "1848:55:0", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 200, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1866:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 202, + "indexExpression": { + "id": 201, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "1880:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 204, + "indexExpression": { + "id": 203, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 195, + "src": "1887:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 199, + "id": 205, + "nodeType": "Return", + "src": "1859:36:0" + } + ] + }, + "functionSelector": "dd62ed3e", + "id": 207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1770:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 193, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1788:5:0", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "1780:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1780:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 195, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1803:7:0", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "1795:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1795:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1779:32:0" + }, + "returnParameters": { + "id": 199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 198, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "1840:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1840:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1839:9:0" + }, + "scope": 395, + "src": "1761:142:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 52 + ], + "body": { + "id": 393, + "nodeType": "Block", + "src": "2012:1171:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 219, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2032:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "baseExpression": { + "id": 220, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2042:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 222, + "indexExpression": { + "id": 221, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2050:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2042:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2032:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 218, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2023:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2023:35:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "ExpressionStatement", + "src": "2023:35:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 227, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2078:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "baseExpression": { + "baseExpression": { + "id": 228, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "2088:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 230, + "indexExpression": { + "id": 229, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2102:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2088:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 233, + "indexExpression": { + "expression": { + "id": 231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "2110:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2114:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2110:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2088:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2078:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 226, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2069:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2069:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 236, + "nodeType": "ExpressionStatement", + "src": "2069:53:0" + }, + { + "expression": { + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 237, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2133:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 239, + "indexExpression": { + "id": 238, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2145:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2133:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 240, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "2154:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2160:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2154:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 242, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2172:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 244, + "indexExpression": { + "id": 243, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2184:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2172:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2154:37:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 246, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2153:39:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2133:59:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 248, + "nodeType": "ExpressionStatement", + "src": "2133:59:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 249, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2208:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 251, + "indexExpression": { + "id": 250, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2220:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2208:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3234", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2230:8:0", + "subdenomination": "hours", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "24" + }, + "src": "2208:30:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 357, + "nodeType": "Block", + "src": "2291:679:0", + "statements": [ + { + "assignments": [ + 265 + ], + "declarations": [ + { + "constant": false, + "id": 265, + "mutability": "mutable", + "name": "stamt", + "nameLocation": "2321:5:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2306:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 263, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2306:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ArrayTypeName", + "src": "2306:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 269, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 266, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2329:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2333:13:0", + "memberName": "getsentamount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1227, + "src": "2329:17:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2329:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2306:42:0" + }, + { + "assignments": [ + 274 + ], + "declarations": [ + { + "constant": false, + "id": 274, + "mutability": "mutable", + "name": "rwd", + "nameLocation": "2378:3:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2363:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 272, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2363:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 273, + "nodeType": "ArrayTypeName", + "src": "2363:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 278, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 275, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2384:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2388:9:0", + "memberName": "getreward", + "nodeType": "MemberAccess", + "referencedDeclaration": 1218, + "src": "2384:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2384:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2363:36:0" + }, + { + "assignments": [ + 283 + ], + "declarations": [ + { + "constant": false, + "id": 283, + "mutability": "mutable", + "name": "bdystk", + "nameLocation": "2429:6:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2414:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 281, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2414:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 282, + "nodeType": "ArrayTypeName", + "src": "2414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 287, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 284, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2438:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2442:16:0", + "memberName": "getbuydaysstreak", + "nodeType": "MemberAccess", + "referencedDeclaration": 1236, + "src": "2438:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2438:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2414:46:0" + }, + { + "assignments": [ + 292 + ], + "declarations": [ + { + "constant": false, + "id": 292, + "mutability": "mutable", + "name": "rwdbdystk", + "nameLocation": "2490:9:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2475:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 290, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2475:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 291, + "nodeType": "ArrayTypeName", + "src": "2475:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 296, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 293, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2502:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2506:19:0", + "memberName": "getrewardforbuydays", + "nodeType": "MemberAccess", + "referencedDeclaration": 1245, + "src": "2502:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2502:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2475:52:0" + }, + { + "body": { + "id": 324, + "nodeType": "Block", + "src": "2583:150:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 308, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2606:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "baseExpression": { + "id": 309, + "name": "stamt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 265, + "src": "2615:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 311, + "indexExpression": { + "id": 310, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2621:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2615:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2606:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 323, + "nodeType": "IfStatement", + "src": "2602:116:0", + "trueBody": { + "id": 322, + "nodeType": "Block", + "src": "2624:94:0", + "statements": [ + { + "expression": { + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 313, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2647:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 315, + "indexExpression": { + "id": 314, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2655:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2647:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 316, + "name": "rwd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "2664:3:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 318, + "indexExpression": { + "id": 317, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2668:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2664:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2647:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 320, + "nodeType": "ExpressionStatement", + "src": "2647:23:0" + }, + { + "id": 321, + "nodeType": "Break", + "src": "2693:5:0" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 301, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2560:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 302, + "name": "stamt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 265, + "src": "2564:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2564:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2560:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 325, + "initializationExpression": { + "assignments": [ + 298 + ], + "declarations": [ + { + "constant": false, + "id": 298, + "mutability": "mutable", + "name": "i", + "nameLocation": "2552:1:0", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "2547:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 297, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2547:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 300, + "initialValue": { + "hexValue": "30", + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2556:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2547:10:0" + }, + "loopExpression": { + "expression": { + "id": 306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2579:3:0", + "subExpression": { + "id": 305, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2579:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 307, + "nodeType": "ExpressionStatement", + "src": "2579:3:0" + }, + "nodeType": "ForStatement", + "src": "2542:191:0" + }, + { + "body": { + "id": 355, + "nodeType": "Block", + "src": "2791:168:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 337, + "name": "daystreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "2814:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 339, + "indexExpression": { + "id": 338, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2824:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2814:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "baseExpression": { + "id": 340, + "name": "bdystk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 283, + "src": "2834:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 342, + "indexExpression": { + "id": 341, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2841:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2834:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2814:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 354, + "nodeType": "IfStatement", + "src": "2810:134:0", + "trueBody": { + "id": 353, + "nodeType": "Block", + "src": "2844:100:0", + "statements": [ + { + "expression": { + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 344, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2867:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 346, + "indexExpression": { + "id": 345, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2875:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2867:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 347, + "name": "rwdbdystk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 292, + "src": "2884:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 349, + "indexExpression": { + "id": 348, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2894:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2884:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2867:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 351, + "nodeType": "ExpressionStatement", + "src": "2867:29:0" + }, + { + "id": 352, + "nodeType": "Break", + "src": "2919:5:0" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 330, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2767:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 331, + "name": "bdystk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 283, + "src": "2771:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2778:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2771:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2767:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 356, + "initializationExpression": { + "assignments": [ + 327 + ], + "declarations": [ + { + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "i", + "nameLocation": "2759:1:0", + "nodeType": "VariableDeclaration", + "scope": 356, + "src": "2754:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 326, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2754:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 329, + "initialValue": { + "hexValue": "30", + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2763:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2754:10:0" + }, + "loopExpression": { + "expression": { + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2787:3:0", + "subExpression": { + "id": 334, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2787:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 336, + "nodeType": "ExpressionStatement", + "src": "2787:3:0" + }, + "nodeType": "ForStatement", + "src": "2749:210:0" + } + ] + }, + "id": 358, + "nodeType": "IfStatement", + "src": "2204:766:0", + "trueBody": { + "id": 260, + "nodeType": "Block", + "src": "2239:46:0", + "statements": [ + { + "expression": { + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 254, + "name": "daystreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "2254:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 256, + "indexExpression": { + "id": 255, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2264:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2254:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2272:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2254:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2254:19:0" + } + ] + } + }, + { + "expression": { + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 359, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2980:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 361, + "indexExpression": { + "id": 360, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2988:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2980:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 362, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2999:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2980:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 364, + "nodeType": "ExpressionStatement", + "src": "2980:25:0" + }, + { + "expression": { + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 365, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "3016:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 367, + "indexExpression": { + "id": 366, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "3024:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3016:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 368, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "3038:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3016:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 370, + "nodeType": "ExpressionStatement", + "src": "3016:28:0" + }, + { + "expression": { + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 371, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "3055:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 375, + "indexExpression": { + "id": 372, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "3069:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3055:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 376, + "indexExpression": { + "expression": { + "id": 373, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3077:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3081:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3077:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3055:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 377, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "3092:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3055:43:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 379, + "nodeType": "ExpressionStatement", + "src": "3055:43:0" + }, + { + "expression": { + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 380, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "3109:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 382, + "indexExpression": { + "id": 381, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "3121:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3109:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 383, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "3129:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3135:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3129:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3109:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 386, + "nodeType": "ExpressionStatement", + "src": "3109:35:0" + }, + { + "expression": { + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 387, + "name": "daystreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3155:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 389, + "indexExpression": { + "id": 388, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "3165:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3155:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3174:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3155:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 392, + "nodeType": "ExpressionStatement", + "src": "3155:20:0" + } + ] + }, + "functionSelector": "23b872dd", + "id": 394, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "1920:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 209, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1941:6:0", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "1933:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1933:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 211, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1957:9:0", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "1949:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1949:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 213, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1976:6:0", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "1968:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1968:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1932:51:0" + }, + "returnParameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 216, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "2007:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 215, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2007:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2006:6:0" + }, + "scope": 395, + "src": "1911:1272:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 396, + "src": "744:2444:0", + "usedErrors": [] + } + ], + "src": "31:3157:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.19+commit.7dd6d404.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-05T16:58:46.646Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/Project2/build/contracts/FASTCOIN.json b/Project2/build/contracts/FASTCOIN.json new file mode 100644 index 0000000..b3ea2cd --- /dev/null +++ b/Project2/build/contracts/FASTCOIN.json @@ -0,0 +1,10255 @@ +{ + "contractName": "FASTCOIN", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_numTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "RAL", + "outputs": [ + { + "internalType": "contract rewardsAndLoyalty", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"RAL\",\"outputs\":[{\"internalType\":\"contract rewardsAndLoyalty\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/FASTCOIN.sol\":\"FASTCOIN\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/FASTCOIN.sol\":{\"keccak256\":\"0x3882d4d399886c33f3323298337e32eac6b9ed33c0c22cdf42fd329217a45296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2a81bfcde4371ffa14fabd1378352d2a652c81882949507256149178611fe62\",\"dweb:/ipfs/QmbHjBEZSASn9g2WXNKEwGnsBSo8qa9h4zq59k7sC9MZnA\"]},\"project:/contracts/rewardsAndLoyalty.sol\":{\"keccak256\":\"0x4f1189706a0b4e140b2c08e3fa1cef57d172eaf5dc91424695454a40bc2ce81a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01aac466bced16e8eaf76db8b8a131df1981d75629fe1f711cba21c0b9d57a15\",\"dweb:/ipfs/QmbFQCLLenEYn1Wj6mXfTkofjFAWfwAwXg7vpLR8jByBXN\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001300380380620013008339818101604052810190620000379190620000cb565b80600081905550600054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050620000fd565b600080fd5b6000819050919050565b620000a58162000090565b8114620000b157600080fd5b50565b600081519050620000c5816200009a565b92915050565b600060208284031215620000e457620000e36200008b565b5b6000620000f484828501620000b4565b91505092915050565b6111f3806200010d6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806323b872dd1161005b57806323b872dd146100ee57806370a082311461011e578063a9059cbb1461014e578063dd62ed3e1461017e5761007d565b8063095ea7b3146100825780630e96c3d8146100b257806318160ddd146100d0575b600080fd5b61009c60048036038101906100979190610d1e565b6101ae565b6040516100a99190610d79565b60405180910390f35b6100ba610283565b6040516100c79190610df3565b60405180910390f35b6100d86102a9565b6040516100e59190610e1d565b60405180910390f35b61010860048036038101906101039190610e38565b6102b2565b6040516101159190610d79565b60405180910390f35b61013860048036038101906101339190610e8b565b610aa6565b6040516101459190610e1d565b60405180910390f35b61016860048036038101906101639190610d1e565b610aef565b6040516101759190610d79565b60405180910390f35b61019860048036038101906101939190610eb8565b610bef565b6040516101a59190610e1d565b60405180910390f35b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156101fc57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561030057600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561038957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426103d49190610f27565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062015180600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156104ab576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108c5565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f1df44b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561051a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061054391906110c9565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f8e0a086040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105dd91906110c9565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663af04289c6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061067791906110c9565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703848246040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106e8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061071191906110c9565b905060005b84518110156107c95784818151811061073257610731611112565b5b60200260200101518711156107b65783818151811061075457610753611112565b5b6020026020010151600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107aa9190611141565b925050819055506107c9565b80806107c190611175565b915050610716565b5060005b82518110156108bf578281815181106107e9576107e8611112565b5b6020026020010151600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156108ac5781818151811061084a57610849611112565b5b6020026020010151600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108a09190611141565b925050819055506108bf565b80806108b790611175565b9150506107cd565b50505050505b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109149190610f27565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461096a9190611141565b9250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fd9190610f27565b9250508190555042600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a989190611141565b925050819055509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b3d57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b8c9190610f27565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610be29190611141565b9250508190555092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb582610c8a565b9050919050565b610cc581610caa565b8114610cd057600080fd5b50565b600081359050610ce281610cbc565b92915050565b6000819050919050565b610cfb81610ce8565b8114610d0657600080fd5b50565b600081359050610d1881610cf2565b92915050565b60008060408385031215610d3557610d34610c80565b5b6000610d4385828601610cd3565b9250506020610d5485828601610d09565b9150509250929050565b60008115159050919050565b610d7381610d5e565b82525050565b6000602082019050610d8e6000830184610d6a565b92915050565b6000819050919050565b6000610db9610db4610daf84610c8a565b610d94565b610c8a565b9050919050565b6000610dcb82610d9e565b9050919050565b6000610ddd82610dc0565b9050919050565b610ded81610dd2565b82525050565b6000602082019050610e086000830184610de4565b92915050565b610e1781610ce8565b82525050565b6000602082019050610e326000830184610e0e565b92915050565b600080600060608486031215610e5157610e50610c80565b5b6000610e5f86828701610cd3565b9350506020610e7086828701610cd3565b9250506040610e8186828701610d09565b9150509250925092565b600060208284031215610ea157610ea0610c80565b5b6000610eaf84828501610cd3565b91505092915050565b60008060408385031215610ecf57610ece610c80565b5b6000610edd85828601610cd3565b9250506020610eee85828601610cd3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f3282610ce8565b9150610f3d83610ce8565b9250828203905081811115610f5557610f54610ef8565b5b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610fa982610f60565b810181811067ffffffffffffffff82111715610fc857610fc7610f71565b5b80604052505050565b6000610fdb610c76565b9050610fe78282610fa0565b919050565b600067ffffffffffffffff82111561100757611006610f71565b5b602082029050602081019050919050565b600080fd5b60008151905061102c81610cf2565b92915050565b600061104561104084610fec565b610fd1565b9050808382526020820190506020840283018581111561106857611067611018565b5b835b81811015611091578061107d888261101d565b84526020840193505060208101905061106a565b5050509392505050565b600082601f8301126110b0576110af610f5b565b5b81516110c0848260208601611032565b91505092915050565b6000602082840312156110df576110de610c80565b5b600082015167ffffffffffffffff8111156110fd576110fc610c85565b5b6111098482850161109b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061114c82610ce8565b915061115783610ce8565b925082820190508082111561116f5761116e610ef8565b5b92915050565b600061118082610ce8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036111b2576111b1610ef8565b5b60018201905091905056fea26469706673582212208b23e69139345485342c08e4d411e9fea0ddd22a98269957c3de4d9005c2adc164736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806323b872dd1161005b57806323b872dd146100ee57806370a082311461011e578063a9059cbb1461014e578063dd62ed3e1461017e5761007d565b8063095ea7b3146100825780630e96c3d8146100b257806318160ddd146100d0575b600080fd5b61009c60048036038101906100979190610d1e565b6101ae565b6040516100a99190610d79565b60405180910390f35b6100ba610283565b6040516100c79190610df3565b60405180910390f35b6100d86102a9565b6040516100e59190610e1d565b60405180910390f35b61010860048036038101906101039190610e38565b6102b2565b6040516101159190610d79565b60405180910390f35b61013860048036038101906101339190610e8b565b610aa6565b6040516101459190610e1d565b60405180910390f35b61016860048036038101906101639190610d1e565b610aef565b6040516101759190610d79565b60405180910390f35b61019860048036038101906101939190610eb8565b610bef565b6040516101a59190610e1d565b60405180910390f35b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156101fc57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561030057600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561038957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426103d49190610f27565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062015180600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156104ab576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108c5565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f1df44b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561051a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061054391906110c9565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f8e0a086040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105dd91906110c9565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663af04289c6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061067791906110c9565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703848246040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106e8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061071191906110c9565b905060005b84518110156107c95784818151811061073257610731611112565b5b60200260200101518711156107b65783818151811061075457610753611112565b5b6020026020010151600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107aa9190611141565b925050819055506107c9565b80806107c190611175565b915050610716565b5060005b82518110156108bf578281815181106107e9576107e8611112565b5b6020026020010151600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156108ac5781818151811061084a57610849611112565b5b6020026020010151600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108a09190611141565b925050819055506108bf565b80806108b790611175565b9150506107cd565b50505050505b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109149190610f27565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461096a9190611141565b9250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fd9190610f27565b9250508190555042600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a989190611141565b925050819055509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b3d57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b8c9190610f27565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610be29190611141565b9250508190555092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb582610c8a565b9050919050565b610cc581610caa565b8114610cd057600080fd5b50565b600081359050610ce281610cbc565b92915050565b6000819050919050565b610cfb81610ce8565b8114610d0657600080fd5b50565b600081359050610d1881610cf2565b92915050565b60008060408385031215610d3557610d34610c80565b5b6000610d4385828601610cd3565b9250506020610d5485828601610d09565b9150509250929050565b60008115159050919050565b610d7381610d5e565b82525050565b6000602082019050610d8e6000830184610d6a565b92915050565b6000819050919050565b6000610db9610db4610daf84610c8a565b610d94565b610c8a565b9050919050565b6000610dcb82610d9e565b9050919050565b6000610ddd82610dc0565b9050919050565b610ded81610dd2565b82525050565b6000602082019050610e086000830184610de4565b92915050565b610e1781610ce8565b82525050565b6000602082019050610e326000830184610e0e565b92915050565b600080600060608486031215610e5157610e50610c80565b5b6000610e5f86828701610cd3565b9350506020610e7086828701610cd3565b9250506040610e8186828701610d09565b9150509250925092565b600060208284031215610ea157610ea0610c80565b5b6000610eaf84828501610cd3565b91505092915050565b60008060408385031215610ecf57610ece610c80565b5b6000610edd85828601610cd3565b9250506020610eee85828601610cd3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f3282610ce8565b9150610f3d83610ce8565b9250828203905081811115610f5557610f54610ef8565b5b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610fa982610f60565b810181811067ffffffffffffffff82111715610fc857610fc7610f71565b5b80604052505050565b6000610fdb610c76565b9050610fe78282610fa0565b919050565b600067ffffffffffffffff82111561100757611006610f71565b5b602082029050602081019050919050565b600080fd5b60008151905061102c81610cf2565b92915050565b600061104561104084610fec565b610fd1565b9050808382526020820190506020840283018581111561106857611067611018565b5b835b81811015611091578061107d888261101d565b84526020840193505060208101905061106a565b5050509392505050565b600082601f8301126110b0576110af610f5b565b5b81516110c0848260208601611032565b91505092915050565b6000602082840312156110df576110de610c80565b5b600082015167ffffffffffffffff8111156110fd576110fc610c85565b5b6111098482850161109b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061114c82610ce8565b915061115783610ce8565b925082820190508082111561116f5761116e610ef8565b5b92915050565b600061118082610ce8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036111b2576111b1610ef8565b5b60018201905091905056fea26469706673582212208b23e69139345485342c08e4d411e9fea0ddd22a98269957c3de4d9005c2adc164736f6c63430008130033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:1048:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:5" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:5", + "type": "" + } + ], + "src": "7:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:5" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:5" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:32:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:16:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "400:5:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:5", + "type": "" + } + ], + "src": "334:77:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "460:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "517:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "526:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "519:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "519:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "519:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "483:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "508:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "490:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "490:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "480:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "480:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "473:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "473:43:5" + }, + "nodeType": "YulIf", + "src": "470:63:5" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "453:5:5", + "type": "" + } + ], + "src": "417:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "608:80:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "618:22:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "633:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "627:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "627:13:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "618:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "649:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "649:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "649:33:5" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "586:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "594:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "602:5:5", + "type": "" + } + ], + "src": "545:143:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "771:274:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "817:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "819:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "819:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "819:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "792:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "801:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "788:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "788:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "813:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "784:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "784:32:5" + }, + "nodeType": "YulIf", + "src": "781:119:5" + }, + { + "nodeType": "YulBlock", + "src": "910:128:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "925:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "939:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "929:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "954:74:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1000:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1011:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "996:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "996:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1020:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "964:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "964:64:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "954:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "741:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "752:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "764:6:5", + "type": "" + } + ], + "src": "694:351:5" + } + ] + }, + "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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", + "id": 5, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:9025:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:5" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:5", + "type": "" + } + ], + "src": "7:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:5" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:5" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:81:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:65:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "404:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "411:42:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "400:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "400:54:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:5", + "type": "" + } + ], + "src": "334:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "511:51:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "521:35:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "550:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "532:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "532:24:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "521:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "493:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "503:7:5", + "type": "" + } + ], + "src": "466:96:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "611:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "668:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "677:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "670:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "670:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "670:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "634:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "659:5:5" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "641:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "641:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "631:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "631:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "624:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "624:43:5" + }, + "nodeType": "YulIf", + "src": "621:63:5" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "604:5:5", + "type": "" + } + ], + "src": "568:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "748:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "758:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "780:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "767:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "767:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "758:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "823:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "796:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "796:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "796:33:5" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "726:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "734:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "742:5:5", + "type": "" + } + ], + "src": "696:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "886:32:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "896:16:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "907:5:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "896:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "868:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "878:7:5", + "type": "" + } + ], + "src": "841:77:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "967:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1024:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1033:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1036:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1026:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1026:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1026:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "990:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1015:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "997:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "997:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "987:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "987:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "980:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "980:43:5" + }, + "nodeType": "YulIf", + "src": "977:63:5" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "960:5:5", + "type": "" + } + ], + "src": "924:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1104:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1114:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1136:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1123:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "1123:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1114:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1179:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1152:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "1152:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1152:33:5" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1082:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1090:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1098:5:5", + "type": "" + } + ], + "src": "1052:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1280:391:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1326:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "1328:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "1328:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1328:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1301:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1310:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1297:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1297:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1322:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1293:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1293:32:5" + }, + "nodeType": "YulIf", + "src": "1290:119:5" + }, + { + "nodeType": "YulBlock", + "src": "1419:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1434:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1438:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1463:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1498:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1509:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1494:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1494:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1518:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1473:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "1473:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1463:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1546:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1561:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1575:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1565:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1591:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1626:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1637:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1622:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1622:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1646:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1601:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "1601:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1591:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1242:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1253:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1265:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1273:6:5", + "type": "" + } + ], + "src": "1197:474:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:48:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1729:32:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1754:5:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1747:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1747:13:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1740:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1740:21:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1729:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1701:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1711:7:5", + "type": "" + } + ], + "src": "1677:90:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1832:50:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1849:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1869:5:5" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1854:14:5" + }, + "nodeType": "YulFunctionCall", + "src": "1854:21:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1842:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1842:34:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1842:34:5" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1820:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1827:3:5", + "type": "" + } + ], + "src": "1773:109:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1980:118:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1990:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2002:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2013:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1998:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1998:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1990:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2064:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2077:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2088:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2073:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2073:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "2026:37:5" + }, + "nodeType": "YulFunctionCall", + "src": "2026:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2026:65:5" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1952:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1964:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1975:4:5", + "type": "" + } + ], + "src": "1888:210:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2136:28:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2146:12:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2153:5:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "2146:3:5" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2122:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "2132:3:5", + "type": "" + } + ], + "src": "2104:60:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2230:82:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2240:66:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2298:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "2280:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "2280:24:5" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "2271:8:5" + }, + "nodeType": "YulFunctionCall", + "src": "2271:34:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "2253:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "2253:53:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "2240:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2210:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "2220:9:5", + "type": "" + } + ], + "src": "2170:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2378:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2388:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2432:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "2401:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "2401:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "2388:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2358:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "2368:9:5", + "type": "" + } + ], + "src": "2318:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2536:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2546:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2590:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulIdentifier", + "src": "2559:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "2559:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "2546:9:5" + } + ] + } + ] + }, + "name": "convert_t_contract$_rewardsAndLoyalty_$1246_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2516:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "2526:9:5", + "type": "" + } + ], + "src": "2450:152:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2699:92:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2716:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2778:5:5" + } + ], + "functionName": { + "name": "convert_t_contract$_rewardsAndLoyalty_$1246_to_t_address", + "nodeType": "YulIdentifier", + "src": "2721:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "2721:63:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2709:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2709:76:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2709:76:5" + } + ] + }, + "name": "abi_encode_t_contract$_rewardsAndLoyalty_$1246_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2687:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2694:3:5", + "type": "" + } + ], + "src": "2608:183:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2921:150:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2931:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2943:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2954:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2939:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2939:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2931:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3037:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3050:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3061:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3046:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3046:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_rewardsAndLoyalty_$1246_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "2967:69:5" + }, + "nodeType": "YulFunctionCall", + "src": "2967:97:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2967:97:5" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_rewardsAndLoyalty_$1246__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2893:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2905:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2916:4:5", + "type": "" + } + ], + "src": "2797:274:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3142:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3159:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3182:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3164:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "3164:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3152:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3152:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3152:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3130:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3137:3:5", + "type": "" + } + ], + "src": "3077:118:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3299:124:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3309:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3321:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3332:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3317:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3317:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3309:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3389:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3402:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3413:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3398:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3398:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "3345:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "3345:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3345:71:5" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3271:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3283:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3294:4:5", + "type": "" + } + ], + "src": "3201:222:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3529:519:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3575:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3577:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "3577:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3577:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3550:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3559:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3546:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3546:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3571:2:5", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3542:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3542:32:5" + }, + "nodeType": "YulIf", + "src": "3539:119:5" + }, + { + "nodeType": "YulBlock", + "src": "3668:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3683:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3697:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3687:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3712:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3747:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3758:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3743:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3743:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3767:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3722:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "3722:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3712:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3795:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3810:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3824:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3814:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3840:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3875:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3886:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3871:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3871:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3895:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3850:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "3850:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3840:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3923:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3938:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3952:2:5", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3942:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3968:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4003:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4014:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3999:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3999:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4023:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3978:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "3978:53:5" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "3968:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3483:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3494:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3506:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3514:6:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3522:6:5", + "type": "" + } + ], + "src": "3429:619:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4120:263:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4166:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4168:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "4168:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4168:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4141:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4150:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4137:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4137:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4162:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4133:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4133:32:5" + }, + "nodeType": "YulIf", + "src": "4130:119:5" + }, + { + "nodeType": "YulBlock", + "src": "4259:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4274:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4288:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4278:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4303:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4338:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4349:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4334:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4334:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4358:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4313:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "4313:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4303:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4090:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4101:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4113:6:5", + "type": "" + } + ], + "src": "4054:329:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4472:391:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4518:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4520:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "4520:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4520:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4493:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4502:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4489:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4489:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4514:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4485:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4485:32:5" + }, + "nodeType": "YulIf", + "src": "4482:119:5" + }, + { + "nodeType": "YulBlock", + "src": "4611:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4626:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4640:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4630:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4655:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4690:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4701:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4686:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4686:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4710:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4665:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "4665:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4655:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4738:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4753:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4767:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4757:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4783:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4818:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4829:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4814:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4814:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4838:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4793:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "4793:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4783:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4434:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4445:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4457:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4465:6:5", + "type": "" + } + ], + "src": "4389:474:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4897:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4914:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4917:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4907:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4907:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4907:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5011:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5014:4:5", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5004:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5004:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5004:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5035:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5038:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5028:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5028:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5028:15:5" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "4869:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5100:149:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5110:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5133:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5115:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "5115:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5110:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5144:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5167:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5149:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "5149:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5144:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5178:17:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5190:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5193:1:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5186:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5186:9:5" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "5178:4:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5220:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "5222:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "5222:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5222:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "5211:4:5" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5217:1:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5208:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5208:11:5" + }, + "nodeType": "YulIf", + "src": "5205:37:5" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "5086:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "5089:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "5095:4:5", + "type": "" + } + ], + "src": "5055:194:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5344:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5361:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5364:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5354:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5354:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5354:12:5" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "5255:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5426:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5436:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5454:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5461:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5450:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5450:14:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5470:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "5466:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5466:7:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5446:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5446:28:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "5436:6:5" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5409:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "5419:6:5", + "type": "" + } + ], + "src": "5378:102:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5514:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5531:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5534:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5524:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5524:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5524:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5628:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5631:4:5", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5621:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5621:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5621:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5652:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5655:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5645:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5645:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5645:15:5" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "5486:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5715:238:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5725:58:5", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5747:6:5" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "5777:4:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5755:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "5755:27:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5743:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5743:40:5" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "5729:10:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5894:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "5896:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "5896:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5896:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5837:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5849:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5834:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5834:34:5" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5873:10:5" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5885:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5870:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5870:22:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "5831:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5831:62:5" + }, + "nodeType": "YulIf", + "src": "5828:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5932:2:5", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5936:10:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5925:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5925:22:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5925:22:5" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "5701:6:5", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "5709:4:5", + "type": "" + } + ], + "src": "5672:281:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6000:88:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6010:30:5", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "6020:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "6020:20:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6010:6:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6069:6:5" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6077:4:5" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "6049:19:5" + }, + "nodeType": "YulFunctionCall", + "src": "6049:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6049:33:5" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "5984:4:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "5993:6:5", + "type": "" + } + ], + "src": "5959:129:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6176:229:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6281:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6283:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "6283:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6283:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6253:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6261:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6250:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6250:30:5" + }, + "nodeType": "YulIf", + "src": "6247:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "6313:25:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6325:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6333:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "6321:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6321:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6313:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6375:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6387:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6393:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6383:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6383:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6375:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6160:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "6171:4:5", + "type": "" + } + ], + "src": "6094:311:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6500:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6517:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6520:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6510:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6510:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6510:12:5" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "6411:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6597:80:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6607:22:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6622:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6616:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "6616:13:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6607:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6665:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "6638:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "6638:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6638:33:5" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6575:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6583:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6591:5:5", + "type": "" + } + ], + "src": "6534:143:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6813:619:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6823:90:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6905:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6848:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "6848:64:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "6832:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "6832:81:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6823:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6922:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6933:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "6926:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6955:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6962:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6948:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6948:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6948:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "6978:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6989:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6996:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6985:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6985:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6978:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7011:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7029:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7041:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7049:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "7037:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7037:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7025:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7025:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "7015:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7083:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "7097:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7097:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7097:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "7070:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7078:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7067:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "7067:15:5" + }, + "nodeType": "YulIf", + "src": "7064:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7271:155:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7286:21:5", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7304:3:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "7290:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7328:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "7365:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7377:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "7333:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "7333:48:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7321:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7321:61:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7321:61:5" + }, + { + "nodeType": "YulAssignment", + "src": "7395:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7406:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7411:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7402:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7402:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7395:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7224:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "7229:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7221:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "7221:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "7237:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7239:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7250:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7255:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7246:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7246:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7239:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "7199:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7201:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7212:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "7205:3:5", + "type": "" + } + ] + } + ] + }, + "src": "7195:231:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6783:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6791:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6799:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "6807:5:5", + "type": "" + } + ], + "src": "6700:732:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7543:297:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7592:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "7594:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7594:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7594:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7571:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7579:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7567:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7567:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7586:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7563:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7563:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7556:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7556:35:5" + }, + "nodeType": "YulIf", + "src": "7553:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7684:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7704:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7698:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "7698:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7688:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7720:114:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7807:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7815:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7803:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7803:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7822:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7830:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "7729:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "7729:105:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "7720:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7521:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7529:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "7537:5:5", + "type": "" + } + ], + "src": "7455:385:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7948:452:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7994:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7996:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7996:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7996:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7969:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7978:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7965:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7965:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7990:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7961:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7961:32:5" + }, + "nodeType": "YulIf", + "src": "7958:119:5" + }, + { + "nodeType": "YulBlock", + "src": "8087:306:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8102:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8126:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8137:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8122:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8122:17:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8116:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "8116:24:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8106:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8187:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "8189:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "8189:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8189:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8159:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8167:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8156:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8156:30:5" + }, + "nodeType": "YulIf", + "src": "8153:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "8284:99:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8355:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8366:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8351:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8351:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8375:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "8294:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "8294:89:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8284:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7918:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7929:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7941:6:5", + "type": "" + } + ], + "src": "7846:554:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8434:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8451:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8454:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8444:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8444:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8444:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8548:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8551:4:5", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8541:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8541:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8541:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8572:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8575:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8565:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8565:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8565:15:5" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "8406:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8636:147:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8646:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8669:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8651:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "8651:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8646:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8680:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8703:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8685:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "8685:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8680:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8714:16:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8725:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8728:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8721:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8721:9:5" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8714:3:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8754:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8756:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "8756:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8756:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8746:1:5" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8749:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8743:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8743:10:5" + }, + "nodeType": "YulIf", + "src": "8740:36:5" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8623:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8626:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "8632:3:5", + "type": "" + } + ], + "src": "8592:191:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8832:190:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8842:33:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8869:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8851:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "8851:24:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8842:5:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8965:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8967:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "8967:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8967:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8890:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8897:66:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8887:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8887:77:5" + }, + "nodeType": "YulIf", + "src": "8884:103:5" + }, + { + "nodeType": "YulAssignment", + "src": "8996:20:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9007:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9014:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9003:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9003:13:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "8996:3:5" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8818:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "8828:3:5", + "type": "" + } + ], + "src": "8789:233:5" + } + ] + }, + "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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\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_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function 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 identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_rewardsAndLoyalty_$1246_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_rewardsAndLoyalty_$1246_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_rewardsAndLoyalty_$1246_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_rewardsAndLoyalty_$1246__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_rewardsAndLoyalty_$1246_to_t_address_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 abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(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_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n", + "id": 5, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "744:2444:0:-:0;;;1012:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1065:10;1053:9;:22;;;;1108:9;;1086:7;:19;1094:10;1086:19;;;;;;;;;;;;;;;:31;;;;1012:113;744:2444;;88:117:5;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:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:351::-;764:6;813:2;801:9;792:7;788:23;784:32;781:119;;;819:79;;:::i;:::-;781:119;939:1;964:64;1020:7;1011:6;1000:9;996:22;964:64;:::i;:::-;954:74;;910:128;694:351;;;;:::o;744:2444:0:-;;;;;;;", + "deployedSourceMap": "744:2444:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1571:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;977:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1135:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1911:1272;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1232:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1349:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1761:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1571:182;1638:4;1686:5;1663:7;:19;1671:10;1663:19;;;;;;;;;;;;;;;;:28;;1654:38;;;;;;1740:5;1703:13;:25;1717:10;1703:25;;;;;;;;;;;;;;;:34;1729:7;1703:34;;;;;;;;;;;;;;;:42;;;;1571:182;;;;:::o;977:28::-;;;;;;;;;;;;;:::o;1135:89::-;1181:7;1207:9;;1200:16;;1135:89;:::o;1911:1272::-;2007:4;2042:7;:15;2050:6;2042:15;;;;;;;;;;;;;;;;2032:6;:25;;2023:35;;;;;;2088:13;:21;2102:6;2088:21;;;;;;;;;;;;;;;:33;2110:10;2088:33;;;;;;;;;;;;;;;;2078:6;:43;;2069:53;;;;;;2172:11;:19;2184:6;2172:19;;;;;;;;;;;;;;;;2154:15;:37;;;;:::i;:::-;2133:11;:19;2145:6;2133:19;;;;;;;;;;;;;;;:59;;;;2230:8;2208:11;:19;2220:6;2208:19;;;;;;;;;;;;;;;;:30;2204:766;;;2272:1;2254:9;:17;2264:6;2254:17;;;;;;;;;;;;;;;:19;;;;2204:766;;;2306:20;2329:3;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2306:42;;2363:18;2384:3;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2363:36;;2414:21;2438:3;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2414:46;;2475:24;2502:3;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2475:52;;2547:6;2542:191;2564:5;:12;2560:1;:16;2542:191;;;2615:5;2621:1;2615:8;;;;;;;;:::i;:::-;;;;;;;;2606:6;:17;2602:116;;;2664:3;2668:1;2664:6;;;;;;;;:::i;:::-;;;;;;;;2647:7;:15;2655:6;2647:15;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;2693:5;;2602:116;2579:3;;;;;:::i;:::-;;;;2542:191;;;;2754:6;2749:210;2771:6;:13;2767:1;:17;2749:210;;;2834:6;2841:1;2834:9;;;;;;;;:::i;:::-;;;;;;;;2814;:17;2824:6;2814:17;;;;;;;;;;;;;;;;:29;2810:134;;;2884:9;2894:1;2884:12;;;;;;;;:::i;:::-;;;;;;;;2867:7;:15;2875:6;2867:15;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;2919:5;;2810:134;2787:3;;;;;:::i;:::-;;;;2749:210;;;;2291:679;;;;2204:766;2999:6;2980:7;:15;2988:6;2980:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;3038:6;3016:7;:18;3024:9;3016:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;3092:6;3055:13;:21;3069:6;3055:21;;;;;;;;;;;;;;;:33;3077:10;3055:33;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;3129:15;3109:11;:19;3121:6;3109:19;;;;;;;;;;;;;;;:35;;;;3174:1;3155:9;:17;3165:6;3155:17;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;1911:1272;;;;;:::o;1232:109::-;1291:7;1317;:16;1325:7;1317:16;;;;;;;;;;;;;;;;1310:23;;1232:109;;;:::o;1349:214::-;1420:4;1468:6;1445:7;:19;1453:10;1445:19;;;;;;;;;;;;;;;;:29;;1436:39;;;;;;1510:6;1487:7;:19;1495:10;1487:19;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;1549:6;1527:7;:18;1535:9;1527:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;1349:214;;;;:::o;1761:142::-;1840:7;1866:13;:20;1880:5;1866:20;;;;;;;;;;;;;;;:29;1887:7;1866:29;;;;;;;;;;;;;;;;1859:36;;1761:142;;;;:::o;7:75:5:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:474::-;1265:6;1273;1322:2;1310:9;1301:7;1297:23;1293:32;1290:119;;;1328:79;;:::i;:::-;1290:119;1448:1;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1419:117;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1197:474;;;;;:::o;1677:90::-;1711:7;1754:5;1747:13;1740:21;1729:32;;1677:90;;;:::o;1773:109::-;1854:21;1869:5;1854:21;:::i;:::-;1849:3;1842:34;1773:109;;:::o;1888:210::-;1975:4;2013:2;2002:9;1998:18;1990:26;;2026:65;2088:1;2077:9;2073:17;2064:6;2026:65;:::i;:::-;1888:210;;;;:::o;2104:60::-;2132:3;2153:5;2146:12;;2104:60;;;:::o;2170:142::-;2220:9;2253:53;2271:34;2280:24;2298:5;2280:24;:::i;:::-;2271:34;:::i;:::-;2253:53;:::i;:::-;2240:66;;2170:142;;;:::o;2318:126::-;2368:9;2401:37;2432:5;2401:37;:::i;:::-;2388:50;;2318:126;;;:::o;2450:152::-;2526:9;2559:37;2590:5;2559:37;:::i;:::-;2546:50;;2450:152;;;:::o;2608:183::-;2721:63;2778:5;2721:63;:::i;:::-;2716:3;2709:76;2608:183;;:::o;2797:274::-;2916:4;2954:2;2943:9;2939:18;2931:26;;2967:97;3061:1;3050:9;3046:17;3037:6;2967:97;:::i;:::-;2797:274;;;;:::o;3077:118::-;3164:24;3182:5;3164:24;:::i;:::-;3159:3;3152:37;3077:118;;:::o;3201:222::-;3294:4;3332:2;3321:9;3317:18;3309:26;;3345:71;3413:1;3402:9;3398:17;3389:6;3345:71;:::i;:::-;3201:222;;;;:::o;3429:619::-;3506:6;3514;3522;3571:2;3559:9;3550:7;3546:23;3542:32;3539:119;;;3577:79;;:::i;:::-;3539:119;3697:1;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3668:117;3824:2;3850:53;3895:7;3886:6;3875:9;3871:22;3850:53;:::i;:::-;3840:63;;3795:118;3952:2;3978:53;4023:7;4014:6;4003:9;3999:22;3978:53;:::i;:::-;3968:63;;3923:118;3429:619;;;;;:::o;4054:329::-;4113:6;4162:2;4150:9;4141:7;4137:23;4133:32;4130:119;;;4168:79;;:::i;:::-;4130:119;4288:1;4313:53;4358:7;4349:6;4338:9;4334:22;4313:53;:::i;:::-;4303:63;;4259:117;4054:329;;;;:::o;4389:474::-;4457:6;4465;4514:2;4502:9;4493:7;4489:23;4485:32;4482:119;;;4520:79;;:::i;:::-;4482:119;4640:1;4665:53;4710:7;4701:6;4690:9;4686:22;4665:53;:::i;:::-;4655:63;;4611:117;4767:2;4793:53;4838:7;4829:6;4818:9;4814:22;4793:53;:::i;:::-;4783:63;;4738:118;4389:474;;;;;:::o;4869:180::-;4917:77;4914:1;4907:88;5014:4;5011:1;5004:15;5038:4;5035:1;5028:15;5055:194;5095:4;5115:20;5133:1;5115:20;:::i;:::-;5110:25;;5149:20;5167:1;5149:20;:::i;:::-;5144:25;;5193:1;5190;5186:9;5178:17;;5217:1;5211:4;5208:11;5205:37;;;5222:18;;:::i;:::-;5205:37;5055:194;;;;:::o;5255:117::-;5364:1;5361;5354:12;5378:102;5419:6;5470:2;5466:7;5461:2;5454:5;5450:14;5446:28;5436:38;;5378:102;;;:::o;5486:180::-;5534:77;5531:1;5524:88;5631:4;5628:1;5621:15;5655:4;5652:1;5645:15;5672:281;5755:27;5777:4;5755:27;:::i;:::-;5747:6;5743:40;5885:6;5873:10;5870:22;5849:18;5837:10;5834:34;5831:62;5828:88;;;5896:18;;:::i;:::-;5828:88;5936:10;5932:2;5925:22;5715:238;5672:281;;:::o;5959:129::-;5993:6;6020:20;;:::i;:::-;6010:30;;6049:33;6077:4;6069:6;6049:33;:::i;:::-;5959:129;;;:::o;6094:311::-;6171:4;6261:18;6253:6;6250:30;6247:56;;;6283:18;;:::i;:::-;6247:56;6333:4;6325:6;6321:17;6313:25;;6393:4;6387;6383:15;6375:23;;6094:311;;;:::o;6411:117::-;6520:1;6517;6510:12;6534:143;6591:5;6622:6;6616:13;6607:22;;6638:33;6665:5;6638:33;:::i;:::-;6534:143;;;;:::o;6700:732::-;6807:5;6832:81;6848:64;6905:6;6848:64;:::i;:::-;6832:81;:::i;:::-;6823:90;;6933:5;6962:6;6955:5;6948:21;6996:4;6989:5;6985:16;6978:23;;7049:4;7041:6;7037:17;7029:6;7025:30;7078:3;7070:6;7067:15;7064:122;;;7097:79;;:::i;:::-;7064:122;7212:6;7195:231;7229:6;7224:3;7221:15;7195:231;;;7304:3;7333:48;7377:3;7365:10;7333:48;:::i;:::-;7328:3;7321:61;7411:4;7406:3;7402:14;7395:21;;7271:155;7255:4;7250:3;7246:14;7239:21;;7195:231;;;7199:21;6813:619;;6700:732;;;;;:::o;7455:385::-;7537:5;7586:3;7579:4;7571:6;7567:17;7563:27;7553:122;;7594:79;;:::i;:::-;7553:122;7704:6;7698:13;7729:105;7830:3;7822:6;7815:4;7807:6;7803:17;7729:105;:::i;:::-;7720:114;;7543:297;7455:385;;;;:::o;7846:554::-;7941:6;7990:2;7978:9;7969:7;7965:23;7961:32;7958:119;;;7996:79;;:::i;:::-;7958:119;8137:1;8126:9;8122:17;8116:24;8167:18;8159:6;8156:30;8153:117;;;8189:79;;:::i;:::-;8153:117;8294:89;8375:7;8366:6;8355:9;8351:22;8294:89;:::i;:::-;8284:99;;8087:306;7846:554;;;;:::o;8406:180::-;8454:77;8451:1;8444:88;8551:4;8548:1;8541:15;8575:4;8572:1;8565:15;8592:191;8632:3;8651:20;8669:1;8651:20;:::i;:::-;8646:25;;8685:20;8703:1;8685:20;:::i;:::-;8680:25;;8728:1;8725;8721:9;8714:16;;8749:3;8746:1;8743:10;8740:36;;;8756:18;;:::i;:::-;8740:36;8592:191;;;;:::o;8789:233::-;8828:3;8851:24;8869:5;8851:24;:::i;:::-;8842:33;;8897:66;8890:5;8887:77;8884:103;;8967:18;;:::i;:::-;8884:103;9014:1;9007:5;9003:13;8996:20;;8789:233;;;:::o", + "source": "//SPDX-License-Identifier:MIT\r\npragma solidity >=0.8.10 <0.8.20;\r\nimport \"./rewardsAndLoyalty.sol\";\r\ninterface ERC20 {\r\n function totalSupply() external view returns (uint256);\r\n function balanceOf(address account) external view returns (uint256);\r\n function transfer(address recipient, uint256 amount) external returns (bool);\r\n function allowance(address owner, address spender) external view returns (uint256);\r\n function approve(address spender, uint256 value) external returns (bool);\r\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\r\n event Transfer(address from, address to, uint256 value);\r\n event Approval(address owner, address spender, uint256 value);\r\n}\r\n\r\ncontract FASTCOIN is ERC20 {\r\n uint numTokens;\r\n mapping(address=>uint) balance;\r\n mapping(address=>uint) paymenttime;\r\n mapping(address=> mapping(address=>uint)) approvalLimit;\r\n mapping(address=>uint)daystreak;\r\n rewardsAndLoyalty public RAL;\r\n constructor (uint _numTokens) {\r\n numTokens = _numTokens;\r\n balance[msg.sender] = numTokens;\r\n }\r\n\r\n\r\n function totalSupply() external view returns (uint256){\r\n return numTokens;\r\n }\r\n\r\n function balanceOf(address account) external view returns (uint256){\r\n return balance[account];\r\n }\r\n\r\n function transfer(address recipient, uint256 amount) external returns (bool){\r\n require (balance[msg.sender] >= amount) ;\r\n balance[msg.sender] -= amount;\r\n balance[recipient] += amount;\r\n }\r\n\r\n function approve(address spender, uint256 value) external returns (bool){\r\n require (balance[msg.sender] >= value);\r\n approvalLimit[msg.sender][spender] = value;\r\n }\r\n\r\n function allowance(address owner, address spender) external view returns\r\n (uint256){\r\n return approvalLimit[owner][spender];\r\n }\r\n\r\n function transferFrom(address sender, address recipient, uint256 amount) external returns\r\n (bool){\r\n require (amount <= balance[sender]);\r\n require (amount <= approvalLimit[sender][msg.sender]);\r\n paymenttime[sender]=(block.timestamp - paymenttime[sender]) ;\r\n if (paymenttime[sender] > 24 hours){\r\n daystreak[sender]=0;\r\n } else {\r\n uint [] memory stamt = RAL.getsentamount();\r\n uint [] memory rwd = RAL.getreward();\r\n uint [] memory bdystk = RAL.getbuydaysstreak();\r\n uint [] memory rwdbdystk = RAL.getrewardforbuydays();\r\n for (uint i = 0 ; i < stamt.length ; i++){\r\n if (amount > stamt[i]){\r\n balance[sender]+=rwd[i];\r\n break;\r\n }\r\n }\r\n\r\n for (uint i = 0 ; i < bdystk.length ; i++){\r\n if (daystreak[sender] > bdystk[i]){\r\n balance[sender]+=rwdbdystk[i];\r\n break;\r\n }\r\n }\r\n }\r\n balance[sender] -= amount;\r\n balance[recipient] += amount;\r\n approvalLimit[sender][msg.sender] -= amount;\r\n paymenttime[sender]=block.timestamp;\r\n daystreak[sender]+=1;\r\n }\r\n\r\n}", + "sourcePath": "/home/awais/Downloads/Project2/contracts/FASTCOIN.sol", + "ast": { + "absolutePath": "project:/contracts/FASTCOIN.sol", + "exportedSymbols": { + "ERC20": [ + 69 + ], + "FASTCOIN": [ + 395 + ], + "rewardsAndLoyalty": [ + 1246 + ] + }, + "id": 396, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.8", + ".10", + "<", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:33:0" + }, + { + "absolutePath": "project:/contracts/rewardsAndLoyalty.sol", + "file": "./rewardsAndLoyalty.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 396, + "sourceUnit": 1247, + "src": "66:33:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 69, + "linearizedBaseContracts": [ + 69 + ], + "name": "ERC20", + "nameLocation": "111:5:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "18160ddd", + "id": 7, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "133:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "144:2:0" + }, + "returnParameters": { + "id": 6, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7, + "src": "170:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "170:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "169:9:0" + }, + "scope": 69, + "src": "124:55:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "70a08231", + "id": 14, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "194:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9, + "mutability": "mutable", + "name": "account", + "nameLocation": "212:7:0", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "204:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "204:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "203:17:0" + }, + "returnParameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "244:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "244:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "243:9:0" + }, + "scope": 69, + "src": "185:68:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a9059cbb", + "id": 23, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "268:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "285:9:0", + "nodeType": "VariableDeclaration", + "scope": 23, + "src": "277:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "277:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18, + "mutability": "mutable", + "name": "amount", + "nameLocation": "304:6:0", + "nodeType": "VariableDeclaration", + "scope": 23, + "src": "296:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "296:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "276:35:0" + }, + "returnParameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 23, + "src": "330:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "330:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "329:6:0" + }, + "scope": 69, + "src": "259:77:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "dd62ed3e", + "id": 32, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "351:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "mutability": "mutable", + "name": "owner", + "nameLocation": "369:5:0", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "361:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "361:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "spender", + "nameLocation": "384:7:0", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "376:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "376:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "360:32:0" + }, + "returnParameters": { + "id": 31, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32, + "src": "416:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "416:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "415:9:0" + }, + "scope": 69, + "src": "342:83:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "095ea7b3", + "id": 41, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "440:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 37, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34, + "mutability": "mutable", + "name": "spender", + "nameLocation": "456:7:0", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "448:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "448:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36, + "mutability": "mutable", + "name": "value", + "nameLocation": "473:5:0", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "465:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "465:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "447:32:0" + }, + "returnParameters": { + "id": 40, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 39, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "498:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 38, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "498:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "497:6:0" + }, + "scope": 69, + "src": "431:73:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "23b872dd", + "id": 52, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "519:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43, + "mutability": "mutable", + "name": "sender", + "nameLocation": "540:6:0", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "532:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "532:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "556:9:0", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "548:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "548:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "amount", + "nameLocation": "575:6:0", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "567:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "567:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "531:51:0" + }, + "returnParameters": { + "id": 51, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 50, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 52, + "src": "601:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 49, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "601:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "600:6:0" + }, + "scope": 69, + "src": "510:97:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "anonymous": false, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 60, + "name": "Transfer", + "nameLocation": "619:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 59, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "636:4:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "628:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 53, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 56, + "indexed": false, + "mutability": "mutable", + "name": "to", + "nameLocation": "650:2:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "642:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 55, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "642:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 58, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "662:5:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "654:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 57, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "627:41:0" + }, + "src": "613:56:0" + }, + { + "anonymous": false, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 68, + "name": "Approval", + "nameLocation": "681:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "698:5:0", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "690:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "690:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 64, + "indexed": false, + "mutability": "mutable", + "name": "spender", + "nameLocation": "713:7:0", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "705:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 63, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "705:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 66, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "730:5:0", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "722:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 65, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "722:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "689:47:0" + }, + "src": "675:62:0" + } + ], + "scope": 396, + "src": "101:639:0", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 70, + "name": "ERC20", + "nameLocations": [ + "765:5:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 69, + "src": "765:5:0" + }, + "id": 71, + "nodeType": "InheritanceSpecifier", + "src": "765:5:0" + } + ], + "canonicalName": "FASTCOIN", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 395, + "linearizedBaseContracts": [ + 395, + 69 + ], + "name": "FASTCOIN", + "nameLocation": "753:8:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "numTokens", + "nameLocation": "783:9:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "778:14:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "778:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77, + "mutability": "mutable", + "name": "balance", + "nameLocation": "822:7:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "799:30:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 76, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 74, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "807:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "799:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "816:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 81, + "mutability": "mutable", + "name": "paymenttime", + "nameLocation": "859:11:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "836:34:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 80, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 78, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "844:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "836:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 79, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "853:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "mutability": "mutable", + "name": "approvalLimit", + "nameLocation": "919:13:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "877:55:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 86, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 82, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "885:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "877:41:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 85, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 83, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "903:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "895:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 84, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "912:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 91, + "mutability": "mutable", + "name": "daystreak", + "nameLocation": "961:9:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "939:31:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 90, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "947:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "939:22:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 89, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "956:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "0e96c3d8", + "id": 94, + "mutability": "mutable", + "name": "RAL", + "nameLocation": "1002:3:0", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "977:28:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + }, + "typeName": { + "id": 93, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 92, + "name": "rewardsAndLoyalty", + "nameLocations": [ + "977:17:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1246, + "src": "977:17:0" + }, + "referencedDeclaration": 1246, + "src": "977:17:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 110, + "nodeType": "Block", + "src": "1042:83:0", + "statements": [ + { + "expression": { + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 99, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1053:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 100, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1065:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1053:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 102, + "nodeType": "ExpressionStatement", + "src": "1053:22:0" + }, + { + "expression": { + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 103, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1086:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 106, + "indexExpression": { + "expression": { + "id": 104, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1094:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1098:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1094:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1086:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 107, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1108:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1086:31:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 109, + "nodeType": "ExpressionStatement", + "src": "1086:31:0" + } + ] + }, + "id": 111, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "_numTokens", + "nameLocation": "1030:10:0", + "nodeType": "VariableDeclaration", + "scope": 111, + "src": "1025:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 95, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1025:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1024:17:0" + }, + "returnParameters": { + "id": 98, + "nodeType": "ParameterList", + "parameters": [], + "src": "1042:0:0" + }, + "scope": 395, + "src": "1012:113:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 7 + ], + "body": { + "id": 118, + "nodeType": "Block", + "src": "1189:35:0", + "statements": [ + { + "expression": { + "id": 116, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1207:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 115, + "id": 117, + "nodeType": "Return", + "src": "1200:16:0" + } + ] + }, + "functionSelector": "18160ddd", + "id": 119, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "1144:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1155:2:0" + }, + "returnParameters": { + "id": 115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 119, + "src": "1181:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1181:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1180:9:0" + }, + "scope": 395, + "src": "1135:89:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 14 + ], + "body": { + "id": 130, + "nodeType": "Block", + "src": "1299:42:0", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 126, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1317:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 128, + "indexExpression": { + "id": 127, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1325:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1317:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 125, + "id": 129, + "nodeType": "Return", + "src": "1310:23:0" + } + ] + }, + "functionSelector": "70a08231", + "id": 131, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1241:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121, + "mutability": "mutable", + "name": "account", + "nameLocation": "1259:7:0", + "nodeType": "VariableDeclaration", + "scope": 131, + "src": "1251:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1251:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1250:17:0" + }, + "returnParameters": { + "id": 125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 124, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 131, + "src": "1291:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1291:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1290:9:0" + }, + "scope": 395, + "src": "1232:109:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 23 + ], + "body": { + "id": 162, + "nodeType": "Block", + "src": "1425:138:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 141, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1445:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 144, + "indexExpression": { + "expression": { + "id": 142, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1453:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1457:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1453:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1445:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 145, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1468:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1445:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 140, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1436:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1436:39:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 148, + "nodeType": "ExpressionStatement", + "src": "1436:39:0" + }, + { + "expression": { + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 149, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1487:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 152, + "indexExpression": { + "expression": { + "id": 150, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1495:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1499:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1495:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1487:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 153, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1510:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1487:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 155, + "nodeType": "ExpressionStatement", + "src": "1487:29:0" + }, + { + "expression": { + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 156, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1527:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 158, + "indexExpression": { + "id": 157, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "1535:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1527:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 159, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1549:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1527:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 161, + "nodeType": "ExpressionStatement", + "src": "1527:28:0" + } + ] + }, + "functionSelector": "a9059cbb", + "id": 163, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1358:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1375:9:0", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1367:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1367:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 135, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1394:6:0", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1386:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1386:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1366:35:0" + }, + "returnParameters": { + "id": 139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1420:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 137, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1420:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1419:6:0" + }, + "scope": 395, + "src": "1349:214:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 41 + ], + "body": { + "id": 190, + "nodeType": "Block", + "src": "1643:110:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 173, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1663:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 176, + "indexExpression": { + "expression": { + "id": 174, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1671:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1675:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1671:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1663:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 177, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "1686:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1663:28:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1654:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 180, + "nodeType": "ExpressionStatement", + "src": "1654:38:0" + }, + { + "expression": { + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 181, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1703:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 185, + "indexExpression": { + "expression": { + "id": 182, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1717:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1721:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1717:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1703:25:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 186, + "indexExpression": { + "id": 184, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 165, + "src": "1729:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1703:34:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 187, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "1740:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1703:42:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 189, + "nodeType": "ExpressionStatement", + "src": "1703:42:0" + } + ] + }, + "functionSelector": "095ea7b3", + "id": 191, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "1580:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 165, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1596:7:0", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1588:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1588:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 167, + "mutability": "mutable", + "name": "value", + "nameLocation": "1613:5:0", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1605:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1605:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1587:32:0" + }, + "returnParameters": { + "id": 171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 170, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1638:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1638:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1637:6:0" + }, + "scope": 395, + "src": "1571:182:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 32 + ], + "body": { + "id": 206, + "nodeType": "Block", + "src": "1848:55:0", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 200, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1866:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 202, + "indexExpression": { + "id": 201, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "1880:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 204, + "indexExpression": { + "id": 203, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 195, + "src": "1887:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 199, + "id": 205, + "nodeType": "Return", + "src": "1859:36:0" + } + ] + }, + "functionSelector": "dd62ed3e", + "id": 207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1770:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 193, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1788:5:0", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "1780:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1780:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 195, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1803:7:0", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "1795:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1795:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1779:32:0" + }, + "returnParameters": { + "id": 199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 198, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 207, + "src": "1840:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1840:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1839:9:0" + }, + "scope": 395, + "src": "1761:142:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 52 + ], + "body": { + "id": 393, + "nodeType": "Block", + "src": "2012:1171:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 219, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2032:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "baseExpression": { + "id": 220, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2042:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 222, + "indexExpression": { + "id": 221, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2050:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2042:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2032:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 218, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2023:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2023:35:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 225, + "nodeType": "ExpressionStatement", + "src": "2023:35:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 227, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2078:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "baseExpression": { + "baseExpression": { + "id": 228, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "2088:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 230, + "indexExpression": { + "id": 229, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2102:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2088:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 233, + "indexExpression": { + "expression": { + "id": 231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "2110:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2114:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2110:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2088:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2078:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 226, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2069:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2069:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 236, + "nodeType": "ExpressionStatement", + "src": "2069:53:0" + }, + { + "expression": { + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 237, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2133:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 239, + "indexExpression": { + "id": 238, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2145:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2133:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 240, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "2154:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2160:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2154:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 242, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2172:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 244, + "indexExpression": { + "id": 243, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2184:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2172:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2154:37:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 246, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2153:39:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2133:59:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 248, + "nodeType": "ExpressionStatement", + "src": "2133:59:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 249, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2208:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 251, + "indexExpression": { + "id": 250, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2220:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2208:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3234", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2230:8:0", + "subdenomination": "hours", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "24" + }, + "src": "2208:30:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 357, + "nodeType": "Block", + "src": "2291:679:0", + "statements": [ + { + "assignments": [ + 265 + ], + "declarations": [ + { + "constant": false, + "id": 265, + "mutability": "mutable", + "name": "stamt", + "nameLocation": "2321:5:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2306:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 263, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2306:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 264, + "nodeType": "ArrayTypeName", + "src": "2306:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 269, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 266, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2329:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2333:13:0", + "memberName": "getsentamount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1227, + "src": "2329:17:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2329:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2306:42:0" + }, + { + "assignments": [ + 274 + ], + "declarations": [ + { + "constant": false, + "id": 274, + "mutability": "mutable", + "name": "rwd", + "nameLocation": "2378:3:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2363:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 272, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2363:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 273, + "nodeType": "ArrayTypeName", + "src": "2363:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 278, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 275, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2384:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2388:9:0", + "memberName": "getreward", + "nodeType": "MemberAccess", + "referencedDeclaration": 1218, + "src": "2384:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2384:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2363:36:0" + }, + { + "assignments": [ + 283 + ], + "declarations": [ + { + "constant": false, + "id": 283, + "mutability": "mutable", + "name": "bdystk", + "nameLocation": "2429:6:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2414:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 281, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2414:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 282, + "nodeType": "ArrayTypeName", + "src": "2414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 287, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 284, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2438:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2442:16:0", + "memberName": "getbuydaysstreak", + "nodeType": "MemberAccess", + "referencedDeclaration": 1236, + "src": "2438:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2438:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2414:46:0" + }, + { + "assignments": [ + 292 + ], + "declarations": [ + { + "constant": false, + "id": 292, + "mutability": "mutable", + "name": "rwdbdystk", + "nameLocation": "2490:9:0", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2475:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 290, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2475:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 291, + "nodeType": "ArrayTypeName", + "src": "2475:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 296, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 293, + "name": "RAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2502:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_rewardsAndLoyalty_$1246", + "typeString": "contract rewardsAndLoyalty" + } + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2506:19:0", + "memberName": "getrewardforbuydays", + "nodeType": "MemberAccess", + "referencedDeclaration": 1245, + "src": "2502:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2502:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2475:52:0" + }, + { + "body": { + "id": 324, + "nodeType": "Block", + "src": "2583:150:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 308, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2606:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "baseExpression": { + "id": 309, + "name": "stamt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 265, + "src": "2615:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 311, + "indexExpression": { + "id": 310, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2621:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2615:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2606:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 323, + "nodeType": "IfStatement", + "src": "2602:116:0", + "trueBody": { + "id": 322, + "nodeType": "Block", + "src": "2624:94:0", + "statements": [ + { + "expression": { + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 313, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2647:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 315, + "indexExpression": { + "id": 314, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2655:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2647:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 316, + "name": "rwd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "2664:3:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 318, + "indexExpression": { + "id": 317, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2668:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2664:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2647:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 320, + "nodeType": "ExpressionStatement", + "src": "2647:23:0" + }, + { + "id": 321, + "nodeType": "Break", + "src": "2693:5:0" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 301, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2560:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 302, + "name": "stamt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 265, + "src": "2564:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2570:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2564:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2560:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 325, + "initializationExpression": { + "assignments": [ + 298 + ], + "declarations": [ + { + "constant": false, + "id": 298, + "mutability": "mutable", + "name": "i", + "nameLocation": "2552:1:0", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "2547:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 297, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2547:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 300, + "initialValue": { + "hexValue": "30", + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2556:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2547:10:0" + }, + "loopExpression": { + "expression": { + "id": 306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2579:3:0", + "subExpression": { + "id": 305, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "2579:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 307, + "nodeType": "ExpressionStatement", + "src": "2579:3:0" + }, + "nodeType": "ForStatement", + "src": "2542:191:0" + }, + { + "body": { + "id": 355, + "nodeType": "Block", + "src": "2791:168:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 337, + "name": "daystreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "2814:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 339, + "indexExpression": { + "id": 338, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2824:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2814:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "baseExpression": { + "id": 340, + "name": "bdystk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 283, + "src": "2834:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 342, + "indexExpression": { + "id": 341, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2841:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2834:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2814:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 354, + "nodeType": "IfStatement", + "src": "2810:134:0", + "trueBody": { + "id": 353, + "nodeType": "Block", + "src": "2844:100:0", + "statements": [ + { + "expression": { + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 344, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2867:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 346, + "indexExpression": { + "id": 345, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2875:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2867:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 347, + "name": "rwdbdystk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 292, + "src": "2884:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 349, + "indexExpression": { + "id": 348, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2894:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2884:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2867:29:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 351, + "nodeType": "ExpressionStatement", + "src": "2867:29:0" + }, + { + "id": 352, + "nodeType": "Break", + "src": "2919:5:0" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 330, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2767:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 331, + "name": "bdystk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 283, + "src": "2771:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2778:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2771:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2767:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 356, + "initializationExpression": { + "assignments": [ + 327 + ], + "declarations": [ + { + "constant": false, + "id": 327, + "mutability": "mutable", + "name": "i", + "nameLocation": "2759:1:0", + "nodeType": "VariableDeclaration", + "scope": 356, + "src": "2754:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 326, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2754:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 329, + "initialValue": { + "hexValue": "30", + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2763:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2754:10:0" + }, + "loopExpression": { + "expression": { + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2787:3:0", + "subExpression": { + "id": 334, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "2787:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 336, + "nodeType": "ExpressionStatement", + "src": "2787:3:0" + }, + "nodeType": "ForStatement", + "src": "2749:210:0" + } + ] + }, + "id": 358, + "nodeType": "IfStatement", + "src": "2204:766:0", + "trueBody": { + "id": 260, + "nodeType": "Block", + "src": "2239:46:0", + "statements": [ + { + "expression": { + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 254, + "name": "daystreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "2254:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 256, + "indexExpression": { + "id": 255, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2264:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2254:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2272:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2254:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "2254:19:0" + } + ] + } + }, + { + "expression": { + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 359, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "2980:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 361, + "indexExpression": { + "id": 360, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2988:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2980:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 362, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2999:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2980:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 364, + "nodeType": "ExpressionStatement", + "src": "2980:25:0" + }, + { + "expression": { + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 365, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "3016:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 367, + "indexExpression": { + "id": 366, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "3024:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3016:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 368, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "3038:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3016:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 370, + "nodeType": "ExpressionStatement", + "src": "3016:28:0" + }, + { + "expression": { + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 371, + "name": "approvalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "3055:13:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 375, + "indexExpression": { + "id": 372, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "3069:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3055:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 376, + "indexExpression": { + "expression": { + "id": 373, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3077:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3081:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3077:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3055:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 377, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "3092:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3055:43:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 379, + "nodeType": "ExpressionStatement", + "src": "3055:43:0" + }, + { + "expression": { + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 380, + "name": "paymenttime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "3109:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 382, + "indexExpression": { + "id": 381, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "3121:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3109:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 383, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "3129:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3135:9:0", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3129:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3109:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 386, + "nodeType": "ExpressionStatement", + "src": "3109:35:0" + }, + { + "expression": { + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 387, + "name": "daystreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "3155:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 389, + "indexExpression": { + "id": 388, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "3165:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3155:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3174:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3155:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 392, + "nodeType": "ExpressionStatement", + "src": "3155:20:0" + } + ] + }, + "functionSelector": "23b872dd", + "id": 394, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "1920:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 209, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1941:6:0", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "1933:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1933:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 211, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1957:9:0", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "1949:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1949:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 213, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1976:6:0", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "1968:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1968:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1932:51:0" + }, + "returnParameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 216, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "2007:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 215, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2007:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2006:6:0" + }, + "scope": 395, + "src": "1911:1272:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 396, + "src": "744:2444:0", + "usedErrors": [] + } + ], + "src": "31:3157:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.19+commit.7dd6d404.Emscripten.clang" + }, + "networks": { + "1337": { + "events": {}, + "links": {}, + "address": "0x5A96f8C379c213C9c63c1dE8997f8184eDd4dBA4", + "transactionHash": "0x36cc102dca6c34e76773ec16c2564a8f6909b045f4b6faa7b31afe9a89fd0903" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-06T10:48:27.548Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/Project2/build/contracts/OrderProcessingContract.json b/Project2/build/contracts/OrderProcessingContract.json new file mode 100644 index 0000000..10e8424 --- /dev/null +++ b/Project2/build/contracts/OrderProcessingContract.json @@ -0,0 +1,16804 @@ +{ + "contractName": "OrderProcessingContract", + "abi": [ + { + "inputs": [], + "name": "discAPro", + "outputs": [ + { + "internalType": "contract discountsAndPromotions", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "mn", + "outputs": [ + { + "internalType": "contract menuManagement", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addrmenu", + "type": "address" + }, + { + "internalType": "address", + "name": "_addrdiscandpro", + "type": "address" + } + ], + "name": "setmenuanddiscountsandpromotions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "CheckinAvailability", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getMenuItems", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "string[]", + "name": "itemnames", + "type": "string[]" + }, + { + "internalType": "uint256[]", + "name": "quantities", + "type": "uint256[]" + } + ], + "name": "CalculateOrderAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"itemnames\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"quantities\",\"type\":\"uint256[]\"}],\"name\":\"CalculateOrderAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CheckinAvailability\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"discAPro\",\"outputs\":[{\"internalType\":\"contract discountsAndPromotions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMenuItems\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mn\",\"outputs\":[{\"internalType\":\"contract menuManagement\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addrmenu\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addrdiscandpro\",\"type\":\"address\"}],\"name\":\"setmenuanddiscountsandpromotions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/OrderProcessingContract.sol\":\"OrderProcessingContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/OrderProcessingContract.sol\":{\"keccak256\":\"0x2b4ed24df2cd1f5224383a3f35ce386a971c4748f10b64770c5de11b3e70d313\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30d94011182410d0f962606a243f84af86355efbe8feaf3f4df3a5bede576290\",\"dweb:/ipfs/QmRR4Y8k2KcwPCkiWvj15HFgMwWTPdxY5deu3oGUq2zi9M\"]},\"project:/contracts/discountsAndPromotions.sol\":{\"keccak256\":\"0x5c518db47ab02a3f7db4aeb7cfb1905b51d2e075fe9cff6be0722aa86cac7f3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff9fe820eb8c48556dadad98c03b80f7f73f4354d036712f6594a311a59787e\",\"dweb:/ipfs/QmTNt9xYDdTuKjomtfk1wejwqLAPaWANPTynvyrQriXCUo\"]},\"project:/contracts/menuManagement.sol\":{\"keccak256\":\"0x0451e892d242cfdcfd3508616f3b29d5424f466c616e891cbb55c96ff8208ad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d46c9e6615729fcd75d70096ca3d7b35b310155d5e805c6ccbeee81a306da2ad\",\"dweb:/ipfs/QmNuzp1RVk7f1Sg95Naq5PivZXc1LypffHnvnREbPKbKZu\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506118e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806337265dff14610067578063a940f7d214610083578063bb93d0fd146100a1578063c2e0a80d146100bf578063d630a1e6146100df578063ffc841bd1461010f575b600080fd5b610081600480360381019061007c9190610b1e565b61012d565b005b61008b6101b2565b6040516100989190610bbd565b60405180910390f35b6100a96101d8565b6040516100b69190610bf3565b60405180910390f35b6100c7610278565b6040516100d693929190610e28565b60405180910390f35b6100f960048036038101906100f4919061117e565b610459565b6040516101069190611205565b60405180910390f35b610117610a88565b6040516101249190611241565b60405180910390f35b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663825bbdac6040518163ffffffff1660e01b8152600401610232906112b9565b602060405180830381865afa15801561024f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102739190611305565b905090565b606080606060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102eb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906103149190611457565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa158015610384573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906103ad919061154c565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610446919061154c565b9050828282955095509550505050909192565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190611457565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa158015610563573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061058c919061154c565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610625919061154c565b90506000805b8451811015610a795788828151811061064757610646611595565b5b602002602001015160405160200161065f9190611600565b6040516020818303038152906040528051906020012085828151811061068857610687611595565b5b60200260200101516040516020016106a09190611600565b6040516020818303038152906040528051906020012003610a66576060600080600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a3a8d108b888151811061071457610713611595565b5b60200260200101516040518263ffffffff1660e01b81526004016107389190611650565b600060405180830381865afa158015610755573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061077e9190611672565b8095508196508297508398508499505050505050600184036108e85760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639405c78f848f8a815181106107ea576107e9611595565b5b60200260200101516107fc9190611767565b8f8a8151811061080f5761080e611595565b5b60200260200101518b8a8151811061082a57610829611595565b5b602002602001015161083c9190611798565b6108469190611798565b886040518363ffffffff1660e01b81526004016108649291906117cc565b600060405180830381600087803b15801561087e57600080fd5b505af1158015610892573d6000803e3d6000fd5b505050508886815181106108a9576108a8611595565b5b60200260200101518d88815181106108c4576108c3611595565b5b60200260200101516108d691906117f5565b8b6108e19190611837565b9a50610a52565b60028403610a515760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639405c78f848f8a815181106109405761093f611595565b5b60200260200101516109529190611767565b8f8a8151811061096557610964611595565b5b60200260200101518b8a815181106109805761097f611595565b5b60200260200101516109929190611798565b61099c9190611798565b886040518363ffffffff1660e01b81526004016109ba9291906117cc565b600060405180830381600087803b1580156109d457600080fd5b505af11580156109e8573d6000803e3d6000fd5b505050508886815181106109ff576109fe611595565b5b6020026020010151606483610a149190611767565b610a1e91906117f5565b8d8881518110610a3157610a30611595565b5b6020026020010151610a4391906117f5565b8b610a4e9190611837565b9a505b5b8680610a5d9061186b565b97505050505050505b8080610a719061186b565b91505061062b565b50849550505050505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610aeb82610ac0565b9050919050565b610afb81610ae0565b8114610b0657600080fd5b50565b600081359050610b1881610af2565b92915050565b60008060408385031215610b3557610b34610ab6565b5b6000610b4385828601610b09565b9250506020610b5485828601610b09565b9150509250929050565b6000819050919050565b6000610b83610b7e610b7984610ac0565b610b5e565b610ac0565b9050919050565b6000610b9582610b68565b9050919050565b6000610ba782610b8a565b9050919050565b610bb781610b9c565b82525050565b6000602082019050610bd26000830184610bae565b92915050565b60008115159050919050565b610bed81610bd8565b82525050565b6000602082019050610c086000830184610be4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c74578082015181840152602081019050610c59565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c9c82610c3a565b610ca68185610c45565b9350610cb6818560208601610c56565b610cbf81610c80565b840191505092915050565b6000610cd68383610c91565b905092915050565b6000602082019050919050565b6000610cf682610c0e565b610d008185610c19565b935083602082028501610d1285610c2a565b8060005b85811015610d4e5784840389528151610d2f8582610cca565b9450610d3a83610cde565b925060208a01995050600181019050610d16565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b610d9f81610d8c565b82525050565b6000610db18383610d96565b60208301905092915050565b6000602082019050919050565b6000610dd582610d60565b610ddf8185610d6b565b9350610dea83610d7c565b8060005b83811015610e1b578151610e028882610da5565b9750610e0d83610dbd565b925050600181019050610dee565b5085935050505092915050565b60006060820190508181036000830152610e428186610ceb565b90508181036020830152610e568185610dca565b90508181036040830152610e6a8184610dca565b9050949350505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610eb182610c80565b810181811067ffffffffffffffff82111715610ed057610ecf610e79565b5b80604052505050565b6000610ee3610aac565b9050610eef8282610ea8565b919050565b600067ffffffffffffffff821115610f0f57610f0e610e79565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff821115610f4557610f44610e79565b5b610f4e82610c80565b9050602081019050919050565b82818337600083830152505050565b6000610f7d610f7884610f2a565b610ed9565b905082815260208101848484011115610f9957610f98610f25565b5b610fa4848285610f5b565b509392505050565b600082601f830112610fc157610fc0610e74565b5b8135610fd1848260208601610f6a565b91505092915050565b6000610fed610fe884610ef4565b610ed9565b905080838252602082019050602084028301858111156110105761100f610f20565b5b835b8181101561105757803567ffffffffffffffff81111561103557611034610e74565b5b8086016110428982610fac565b85526020850194505050602081019050611012565b5050509392505050565b600082601f83011261107657611075610e74565b5b8135611086848260208601610fda565b91505092915050565b600067ffffffffffffffff8211156110aa576110a9610e79565b5b602082029050602081019050919050565b6110c481610d8c565b81146110cf57600080fd5b50565b6000813590506110e1816110bb565b92915050565b60006110fa6110f58461108f565b610ed9565b9050808382526020820190506020840283018581111561111d5761111c610f20565b5b835b81811015611146578061113288826110d2565b84526020840193505060208101905061111f565b5050509392505050565b600082601f83011261116557611164610e74565b5b81356111758482602086016110e7565b91505092915050565b6000806040838503121561119557611194610ab6565b5b600083013567ffffffffffffffff8111156111b3576111b2610abb565b5b6111bf85828601611061565b925050602083013567ffffffffffffffff8111156111e0576111df610abb565b5b6111ec85828601611150565b9150509250929050565b6111ff81610d8c565b82525050565b600060208201905061121a60008301846111f6565b92915050565b600061122b82610b8a565b9050919050565b61123b81611220565b82525050565b60006020820190506112566000830184611232565b92915050565b600082825260208201905092915050565b7f50697a7a61000000000000000000000000000000000000000000000000000000600082015250565b60006112a360058361125c565b91506112ae8261126d565b602082019050919050565b600060208201905081810360008301526112d281611296565b9050919050565b6112e281610bd8565b81146112ed57600080fd5b50565b6000815190506112ff816112d9565b92915050565b60006020828403121561131b5761131a610ab6565b5b6000611329848285016112f0565b91505092915050565b600061134561134084610f2a565b610ed9565b90508281526020810184848401111561136157611360610f25565b5b61136c848285610c56565b509392505050565b600082601f83011261138957611388610e74565b5b8151611399848260208601611332565b91505092915050565b60006113b56113b084610ef4565b610ed9565b905080838252602082019050602084028301858111156113d8576113d7610f20565b5b835b8181101561141f57805167ffffffffffffffff8111156113fd576113fc610e74565b5b80860161140a8982611374565b855260208501945050506020810190506113da565b5050509392505050565b600082601f83011261143e5761143d610e74565b5b815161144e8482602086016113a2565b91505092915050565b60006020828403121561146d5761146c610ab6565b5b600082015167ffffffffffffffff81111561148b5761148a610abb565b5b61149784828501611429565b91505092915050565b6000815190506114af816110bb565b92915050565b60006114c86114c38461108f565b610ed9565b905080838252602082019050602084028301858111156114eb576114ea610f20565b5b835b81811015611514578061150088826114a0565b8452602084019350506020810190506114ed565b5050509392505050565b600082601f83011261153357611532610e74565b5b81516115438482602086016114b5565b91505092915050565b60006020828403121561156257611561610ab6565b5b600082015167ffffffffffffffff8111156115805761157f610abb565b5b61158c8482850161151e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006115da82610c3a565b6115e481856115c4565b93506115f4818560208601610c56565b80840191505092915050565b600061160c82846115cf565b915081905092915050565b600061162282610c3a565b61162c818561125c565b935061163c818560208601610c56565b61164581610c80565b840191505092915050565b6000602082019050818103600083015261166a8184611617565b905092915050565b600080600080600060a0868803121561168e5761168d610ab6565b5b600086015167ffffffffffffffff8111156116ac576116ab610abb565b5b6116b888828901611374565b95505060206116c9888289016114a0565b94505060406116da888289016114a0565b93505060606116eb888289016114a0565b92505060806116fc888289016114a0565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061177282610d8c565b915061177d83610d8c565b92508261178d5761178c611709565b5b828204905092915050565b60006117a382610d8c565b91506117ae83610d8c565b92508282039050818111156117c6576117c5611738565b5b92915050565b60006040820190506117e160008301856111f6565b6117ee60208301846111f6565b9392505050565b600061180082610d8c565b915061180b83610d8c565b925082820261181981610d8c565b915082820484148315176118305761182f611738565b5b5092915050565b600061184282610d8c565b915061184d83610d8c565b925082820190508082111561186557611864611738565b5b92915050565b600061187682610d8c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118a8576118a7611738565b5b60018201905091905056fea264697066735822122058ace1c25d776ac82215b8e02fca70c1fb12bafdfecb6493f05018c89d80863f64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806337265dff14610067578063a940f7d214610083578063bb93d0fd146100a1578063c2e0a80d146100bf578063d630a1e6146100df578063ffc841bd1461010f575b600080fd5b610081600480360381019061007c9190610b1e565b61012d565b005b61008b6101b2565b6040516100989190610bbd565b60405180910390f35b6100a96101d8565b6040516100b69190610bf3565b60405180910390f35b6100c7610278565b6040516100d693929190610e28565b60405180910390f35b6100f960048036038101906100f4919061117e565b610459565b6040516101069190611205565b60405180910390f35b610117610a88565b6040516101249190611241565b60405180910390f35b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663825bbdac6040518163ffffffff1660e01b8152600401610232906112b9565b602060405180830381865afa15801561024f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102739190611305565b905090565b606080606060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102eb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906103149190611457565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa158015610384573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906103ad919061154c565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610446919061154c565b9050828282955095509550505050909192565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190611457565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa158015610563573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061058c919061154c565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610625919061154c565b90506000805b8451811015610a795788828151811061064757610646611595565b5b602002602001015160405160200161065f9190611600565b6040516020818303038152906040528051906020012085828151811061068857610687611595565b5b60200260200101516040516020016106a09190611600565b6040516020818303038152906040528051906020012003610a66576060600080600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a3a8d108b888151811061071457610713611595565b5b60200260200101516040518263ffffffff1660e01b81526004016107389190611650565b600060405180830381865afa158015610755573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061077e9190611672565b8095508196508297508398508499505050505050600184036108e85760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639405c78f848f8a815181106107ea576107e9611595565b5b60200260200101516107fc9190611767565b8f8a8151811061080f5761080e611595565b5b60200260200101518b8a8151811061082a57610829611595565b5b602002602001015161083c9190611798565b6108469190611798565b886040518363ffffffff1660e01b81526004016108649291906117cc565b600060405180830381600087803b15801561087e57600080fd5b505af1158015610892573d6000803e3d6000fd5b505050508886815181106108a9576108a8611595565b5b60200260200101518d88815181106108c4576108c3611595565b5b60200260200101516108d691906117f5565b8b6108e19190611837565b9a50610a52565b60028403610a515760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639405c78f848f8a815181106109405761093f611595565b5b60200260200101516109529190611767565b8f8a8151811061096557610964611595565b5b60200260200101518b8a815181106109805761097f611595565b5b60200260200101516109929190611798565b61099c9190611798565b886040518363ffffffff1660e01b81526004016109ba9291906117cc565b600060405180830381600087803b1580156109d457600080fd5b505af11580156109e8573d6000803e3d6000fd5b505050508886815181106109ff576109fe611595565b5b6020026020010151606483610a149190611767565b610a1e91906117f5565b8d8881518110610a3157610a30611595565b5b6020026020010151610a4391906117f5565b8b610a4e9190611837565b9a505b5b8680610a5d9061186b565b97505050505050505b8080610a719061186b565b91505061062b565b50849550505050505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610aeb82610ac0565b9050919050565b610afb81610ae0565b8114610b0657600080fd5b50565b600081359050610b1881610af2565b92915050565b60008060408385031215610b3557610b34610ab6565b5b6000610b4385828601610b09565b9250506020610b5485828601610b09565b9150509250929050565b6000819050919050565b6000610b83610b7e610b7984610ac0565b610b5e565b610ac0565b9050919050565b6000610b9582610b68565b9050919050565b6000610ba782610b8a565b9050919050565b610bb781610b9c565b82525050565b6000602082019050610bd26000830184610bae565b92915050565b60008115159050919050565b610bed81610bd8565b82525050565b6000602082019050610c086000830184610be4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c74578082015181840152602081019050610c59565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c9c82610c3a565b610ca68185610c45565b9350610cb6818560208601610c56565b610cbf81610c80565b840191505092915050565b6000610cd68383610c91565b905092915050565b6000602082019050919050565b6000610cf682610c0e565b610d008185610c19565b935083602082028501610d1285610c2a565b8060005b85811015610d4e5784840389528151610d2f8582610cca565b9450610d3a83610cde565b925060208a01995050600181019050610d16565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b610d9f81610d8c565b82525050565b6000610db18383610d96565b60208301905092915050565b6000602082019050919050565b6000610dd582610d60565b610ddf8185610d6b565b9350610dea83610d7c565b8060005b83811015610e1b578151610e028882610da5565b9750610e0d83610dbd565b925050600181019050610dee565b5085935050505092915050565b60006060820190508181036000830152610e428186610ceb565b90508181036020830152610e568185610dca565b90508181036040830152610e6a8184610dca565b9050949350505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610eb182610c80565b810181811067ffffffffffffffff82111715610ed057610ecf610e79565b5b80604052505050565b6000610ee3610aac565b9050610eef8282610ea8565b919050565b600067ffffffffffffffff821115610f0f57610f0e610e79565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff821115610f4557610f44610e79565b5b610f4e82610c80565b9050602081019050919050565b82818337600083830152505050565b6000610f7d610f7884610f2a565b610ed9565b905082815260208101848484011115610f9957610f98610f25565b5b610fa4848285610f5b565b509392505050565b600082601f830112610fc157610fc0610e74565b5b8135610fd1848260208601610f6a565b91505092915050565b6000610fed610fe884610ef4565b610ed9565b905080838252602082019050602084028301858111156110105761100f610f20565b5b835b8181101561105757803567ffffffffffffffff81111561103557611034610e74565b5b8086016110428982610fac565b85526020850194505050602081019050611012565b5050509392505050565b600082601f83011261107657611075610e74565b5b8135611086848260208601610fda565b91505092915050565b600067ffffffffffffffff8211156110aa576110a9610e79565b5b602082029050602081019050919050565b6110c481610d8c565b81146110cf57600080fd5b50565b6000813590506110e1816110bb565b92915050565b60006110fa6110f58461108f565b610ed9565b9050808382526020820190506020840283018581111561111d5761111c610f20565b5b835b81811015611146578061113288826110d2565b84526020840193505060208101905061111f565b5050509392505050565b600082601f83011261116557611164610e74565b5b81356111758482602086016110e7565b91505092915050565b6000806040838503121561119557611194610ab6565b5b600083013567ffffffffffffffff8111156111b3576111b2610abb565b5b6111bf85828601611061565b925050602083013567ffffffffffffffff8111156111e0576111df610abb565b5b6111ec85828601611150565b9150509250929050565b6111ff81610d8c565b82525050565b600060208201905061121a60008301846111f6565b92915050565b600061122b82610b8a565b9050919050565b61123b81611220565b82525050565b60006020820190506112566000830184611232565b92915050565b600082825260208201905092915050565b7f50697a7a61000000000000000000000000000000000000000000000000000000600082015250565b60006112a360058361125c565b91506112ae8261126d565b602082019050919050565b600060208201905081810360008301526112d281611296565b9050919050565b6112e281610bd8565b81146112ed57600080fd5b50565b6000815190506112ff816112d9565b92915050565b60006020828403121561131b5761131a610ab6565b5b6000611329848285016112f0565b91505092915050565b600061134561134084610f2a565b610ed9565b90508281526020810184848401111561136157611360610f25565b5b61136c848285610c56565b509392505050565b600082601f83011261138957611388610e74565b5b8151611399848260208601611332565b91505092915050565b60006113b56113b084610ef4565b610ed9565b905080838252602082019050602084028301858111156113d8576113d7610f20565b5b835b8181101561141f57805167ffffffffffffffff8111156113fd576113fc610e74565b5b80860161140a8982611374565b855260208501945050506020810190506113da565b5050509392505050565b600082601f83011261143e5761143d610e74565b5b815161144e8482602086016113a2565b91505092915050565b60006020828403121561146d5761146c610ab6565b5b600082015167ffffffffffffffff81111561148b5761148a610abb565b5b61149784828501611429565b91505092915050565b6000815190506114af816110bb565b92915050565b60006114c86114c38461108f565b610ed9565b905080838252602082019050602084028301858111156114eb576114ea610f20565b5b835b81811015611514578061150088826114a0565b8452602084019350506020810190506114ed565b5050509392505050565b600082601f83011261153357611532610e74565b5b81516115438482602086016114b5565b91505092915050565b60006020828403121561156257611561610ab6565b5b600082015167ffffffffffffffff8111156115805761157f610abb565b5b61158c8482850161151e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006115da82610c3a565b6115e481856115c4565b93506115f4818560208601610c56565b80840191505092915050565b600061160c82846115cf565b915081905092915050565b600061162282610c3a565b61162c818561125c565b935061163c818560208601610c56565b61164581610c80565b840191505092915050565b6000602082019050818103600083015261166a8184611617565b905092915050565b600080600080600060a0868803121561168e5761168d610ab6565b5b600086015167ffffffffffffffff8111156116ac576116ab610abb565b5b6116b888828901611374565b95505060206116c9888289016114a0565b94505060406116da888289016114a0565b93505060606116eb888289016114a0565b92505060806116fc888289016114a0565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061177282610d8c565b915061177d83610d8c565b92508261178d5761178c611709565b5b828204905092915050565b60006117a382610d8c565b91506117ae83610d8c565b92508282039050818111156117c6576117c5611738565b5b92915050565b60006040820190506117e160008301856111f6565b6117ee60208301846111f6565b9392505050565b600061180082610d8c565b915061180b83610d8c565b925082820261181981610d8c565b915082820484148315176118305761182f611738565b5b5092915050565b600061184282610d8c565b915061184d83610d8c565b925082820190508082111561186557611864611738565b5b92915050565b600061187682610d8c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118a8576118a7611738565b5b60018201905091905056fea264697066735822122058ace1c25d776ac82215b8e02fca70c1fb12bafdfecb6493f05018c89d80863f64736f6c63430008130033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:27015:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:5" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:5", + "type": "" + } + ], + "src": "7:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:5" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:5" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:81:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:65:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "404:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "411:42:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "400:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "400:54:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:5", + "type": "" + } + ], + "src": "334:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "511:51:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "521:35:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "550:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "532:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "532:24:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "521:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "493:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "503:7:5", + "type": "" + } + ], + "src": "466:96:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "611:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "668:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "677:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "670:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "670:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "670:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "634:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "659:5:5" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "641:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "641:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "631:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "631:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "624:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "624:43:5" + }, + "nodeType": "YulIf", + "src": "621:63:5" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "604:5:5", + "type": "" + } + ], + "src": "568:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "748:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "758:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "780:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "767:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "767:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "758:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "823:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "796:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "796:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "796:33:5" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "726:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "734:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "742:5:5", + "type": "" + } + ], + "src": "696:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "924:391:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "970:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "972:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "972:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "972:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "945:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "954:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "941:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "941:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "966:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "937:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "937:32:5" + }, + "nodeType": "YulIf", + "src": "934:119:5" + }, + { + "nodeType": "YulBlock", + "src": "1063:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1078:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1092:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1082:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1107:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1142:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1153:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1138:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1138:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1162:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1117:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "1117:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1107:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1190:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1205:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1219:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1209:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1235:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1270:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1281:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1266:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1266:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1290:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1245:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "1245:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1235:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "886:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "897:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "909:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "917:6:5", + "type": "" + } + ], + "src": "841:474:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1353:28:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1363:12:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1370:5:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "1363:3:5" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1339:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "1349:3:5", + "type": "" + } + ], + "src": "1321:60:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1447:82:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1457:66:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1515:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "1497:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "1497:24:5" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "1488:8:5" + }, + "nodeType": "YulFunctionCall", + "src": "1488:34:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "1470:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "1470:53:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "1457:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1427:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "1437:9:5", + "type": "" + } + ], + "src": "1387:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1595:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1605:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1649:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "1618:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "1618:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "1605:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1575:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "1585:9:5", + "type": "" + } + ], + "src": "1535:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1757:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1767:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1811:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulIdentifier", + "src": "1780:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "1780:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "1767:9:5" + } + ] + } + ] + }, + "name": "convert_t_contract$_discountsAndPromotions_$947_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1737:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "1747:9:5", + "type": "" + } + ], + "src": "1667:156:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1924:96:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1941:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2007:5:5" + } + ], + "functionName": { + "name": "convert_t_contract$_discountsAndPromotions_$947_to_t_address", + "nodeType": "YulIdentifier", + "src": "1946:60:5" + }, + "nodeType": "YulFunctionCall", + "src": "1946:67:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1934:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1934:80:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1934:80:5" + } + ] + }, + "name": "abi_encode_t_contract$_discountsAndPromotions_$947_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1912:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1919:3:5", + "type": "" + } + ], + "src": "1829:191:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2154:154:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2164:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2176:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2187:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2172:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2172:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2164:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2274:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2287:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2298:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2283:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2283:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_discountsAndPromotions_$947_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "2200:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "2200:101:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2200:101:5" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_discountsAndPromotions_$947__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2126:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2138:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2149:4:5", + "type": "" + } + ], + "src": "2026:282:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2356:48:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2366:32:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2391:5:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2384:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2384:13:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2377:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2377:21:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2366:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2338:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2348:7:5", + "type": "" + } + ], + "src": "2314:90:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2469:50:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2486:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2506:5:5" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "2491:14:5" + }, + "nodeType": "YulFunctionCall", + "src": "2491:21:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2479:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2479:34:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2479:34:5" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2457:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2464:3:5", + "type": "" + } + ], + "src": "2410:109:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2617:118:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2627:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2639:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2650:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2635:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2635:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2627:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2701:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2714:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2725:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2710:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2710:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "2663:37:5" + }, + "nodeType": "YulFunctionCall", + "src": "2663:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2663:65:5" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2589:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2601:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2612:4:5", + "type": "" + } + ], + "src": "2525:210:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2825:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2836:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2852:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2846:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "2846:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2836:6:5" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2808:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2818:6:5", + "type": "" + } + ], + "src": "2741:124:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2992:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3009:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3014:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3002:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3002:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3002:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "3030:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3049:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3054:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3045:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3045:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "3030:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2964:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2969:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "2980:11:5", + "type": "" + } + ], + "src": "2871:194:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3153:60:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3163:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3171:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3163:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3184:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3196:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3201:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3192:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3192:14:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3184:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "3140:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "3148:4:5", + "type": "" + } + ], + "src": "3071:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3278:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3289:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3305:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3299:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "3299:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3289:6:5" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3261:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3271:6:5", + "type": "" + } + ], + "src": "3219:99:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3410:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3427:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3432:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3420:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3420:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3420:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "3448:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3467:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3472:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3463:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3463:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "3448:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3382:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3387:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "3398:11:5", + "type": "" + } + ], + "src": "3324:159:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3551:184:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3561:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3570:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "3565:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3630:63:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3655:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3660:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3651:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3651:11:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3674:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3679:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3670:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3670:11:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3664:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "3664:18:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3644:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3644:39:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3644:39:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3591:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3594:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3588:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "3588:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "3602:19:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3604:15:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3613:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3616:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3609:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3609:10:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3604:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "3584:3:5", + "statements": [] + }, + "src": "3580:113:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3713:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3718:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3709:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3709:16:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3727:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3702:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3702:27:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3702:27:5" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "3533:3:5", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "3538:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3543:6:5", + "type": "" + } + ], + "src": "3489:246:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3789:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3799:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3817:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3824:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3813:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3813:14:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3833:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "3829:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3829:7:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3809:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3809:28:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3799:6:5" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3772:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "3782:6:5", + "type": "" + } + ], + "src": "3741:102:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3931:275:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3941:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3988:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3955:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "3955:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3945:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4003:68:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4059:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4064:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4010:48:5" + }, + "nodeType": "YulFunctionCall", + "src": "4010:61:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4003:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4119:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4126:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4115:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4115:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4133:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4138:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "4080:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "4080:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4080:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "4154:46:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4165:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4192:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "4170:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "4170:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4161:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4161:39:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4154:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3912:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3919:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3927:3:5", + "type": "" + } + ], + "src": "3849:357:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4312:96:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4322:80:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4390:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4398:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4336:53:5" + }, + "nodeType": "YulFunctionCall", + "src": "4336:66:5" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "4322:10:5" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4285:6:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4293:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "4301:10:5", + "type": "" + } + ], + "src": "4212:196:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4499:38:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4509:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4521:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4526:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4517:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4517:14:5" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "4509:4:5" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "4486:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "4494:4:5", + "type": "" + } + ], + "src": "4414:123:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4715:847:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4725:78:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4797:5:5" + } + ], + "functionName": { + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4739:57:5" + }, + "nodeType": "YulFunctionCall", + "src": "4739:64:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4729:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4812:103:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4903:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4908:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4819:83:5" + }, + "nodeType": "YulFunctionCall", + "src": "4819:96:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4812:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4924:20:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4941:3:5" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4928:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4953:39:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4969:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4978:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4986:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4974:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4974:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4965:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4965:27:5" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4957:4:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5001:81:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5076:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5016:59:5" + }, + "nodeType": "YulFunctionCall", + "src": "5016:66:5" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "5005:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5091:21:5", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "5105:7:5" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "5095:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5181:336:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5202:3:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5211:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5217:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5207:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5207:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5195:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5195:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5195:33:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5241:34:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5268:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5262:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "5262:13:5" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "5245:13:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5288:92:5", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "5360:13:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5375:4:5" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5296:63:5" + }, + "nodeType": "YulFunctionCall", + "src": "5296:84:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5288:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5393:80:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5466:6:5" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5403:62:5" + }, + "nodeType": "YulFunctionCall", + "src": "5403:70:5" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "5393:6:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5486:21:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5497:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5502:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5493:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5493:14:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5486:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5143:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5146:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5140:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5140:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5154:18:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5156:14:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5165:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5168:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5161:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5161:9:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5156:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5125:14:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5127:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5136:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "5131:1:5", + "type": "" + } + ] + } + ] + }, + "src": "5121:396:5" + }, + { + "nodeType": "YulAssignment", + "src": "5526:11:5", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5533:4:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5526:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5546:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5553:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5546:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4694:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4701:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4710:3:5", + "type": "" + } + ], + "src": "4571:991:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5642:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5653:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5669:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5663:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "5663:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5653:6:5" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5625:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5635:6:5", + "type": "" + } + ], + "src": "5568:114:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5799:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5816:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5821:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5809:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5809:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5809:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "5837:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5856:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5861:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5852:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5852:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "5837:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5771:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5776:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "5787:11:5", + "type": "" + } + ], + "src": "5688:184:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5950:60:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5960:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "5968:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5960:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5981:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "5993:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5998:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5989:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5989:14:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5981:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "5937:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "5945:4:5", + "type": "" + } + ], + "src": "5878:132:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6061:32:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6071:16:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6082:5:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6071:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6043:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6053:7:5", + "type": "" + } + ], + "src": "6016:77:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6154:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6171:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6194:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6176:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "6176:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6164:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6164:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6164:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6142:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6149:3:5", + "type": "" + } + ], + "src": "6099:108:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6293:99:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6337:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6345:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "6303:33:5" + }, + "nodeType": "YulFunctionCall", + "src": "6303:46:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6303:46:5" + }, + { + "nodeType": "YulAssignment", + "src": "6358:28:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6376:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6381:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6372:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6372:14:5" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "6358:10:5" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6266:6:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6274:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "6282:10:5", + "type": "" + } + ], + "src": "6213:179:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6473:38:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6483:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "6495:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6500:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6491:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6491:14:5" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "6483:4:5" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "6460:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "6468:4:5", + "type": "" + } + ], + "src": "6398:113:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6671:608:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6681:68:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6743:5:5" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6695:47:5" + }, + "nodeType": "YulFunctionCall", + "src": "6695:54:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6685:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6758:93:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6839:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6844:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6765:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "6765:86:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6758:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6860:71:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6925:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6875:49:5" + }, + "nodeType": "YulFunctionCall", + "src": "6875:56:5" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "6864:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6940:21:5", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "6954:7:5" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "6944:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7030:224:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7044:34:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "7071:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7065:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "7065:13:5" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "7048:13:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7091:70:5", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "7142:13:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7157:3:5" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "7098:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "7098:63:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7091:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7174:70:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "7237:6:5" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7184:52:5" + }, + "nodeType": "YulFunctionCall", + "src": "7184:60:5" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "7174:6:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6992:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6995:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6989:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6989:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "7003:18:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7005:14:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7014:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7017:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7010:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7010:9:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7005:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "6974:14:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6976:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6985:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "6980:1:5", + "type": "" + } + ] + } + ] + }, + "src": "6970:284:5" + }, + { + "nodeType": "YulAssignment", + "src": "7263:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7270:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7263:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6650:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6657:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6666:3:5", + "type": "" + } + ], + "src": "6547:732:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7609:611:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7619:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7631:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7642:2:5", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7627:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7627:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7619:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7666:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7677:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7662:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7662:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7685:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7691:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7681:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7681:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7655:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7655:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7655:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "7711:136:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7833:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7842:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7719:113:5" + }, + "nodeType": "YulFunctionCall", + "src": "7719:128:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7711:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7868:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7879:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7864:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7864:18:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7888:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7894:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7884:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7884:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7857:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7857:48:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7857:48:5" + }, + { + "nodeType": "YulAssignment", + "src": "7914:116:5", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8016:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8025:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7922:93:5" + }, + "nodeType": "YulFunctionCall", + "src": "7922:108:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7914:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8051:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8062:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8047:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8047:18:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8071:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8077:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8067:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8067:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8040:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8040:48:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8040:48:5" + }, + { + "nodeType": "YulAssignment", + "src": "8097:116:5", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "8199:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8208:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8105:93:5" + }, + "nodeType": "YulFunctionCall", + "src": "8105:108:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8097:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7565:9:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7577:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7585:6:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7593:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7604:4:5", + "type": "" + } + ], + "src": "7285:935:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8315:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8332:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8335:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8325:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8325:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8325:12:5" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "8226:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8377:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8394:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8397:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8387:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8387:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8387:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8491:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8494:4:5", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8484:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8484:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8484:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8515:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8518:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8508:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8508:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8508:15:5" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "8349:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8578:238:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8588:58:5", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8610:6:5" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8640:4:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "8618:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "8618:27:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8606:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8606:40:5" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "8592:10:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8757:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "8759:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "8759:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8759:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8700:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8712:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8697:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8697:34:5" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8736:10:5" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8748:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8733:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8733:22:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "8694:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8694:62:5" + }, + "nodeType": "YulIf", + "src": "8691:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8795:2:5", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8799:10:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8788:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8788:22:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8788:22:5" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8564:6:5", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8572:4:5", + "type": "" + } + ], + "src": "8535:281:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8863:88:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8873:30:5", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "8883:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "8883:20:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8873:6:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8932:6:5" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8940:4:5" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "8912:19:5" + }, + "nodeType": "YulFunctionCall", + "src": "8912:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8912:33:5" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8847:4:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8856:6:5", + "type": "" + } + ], + "src": "8822:129:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9049:229:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9154:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "9156:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "9156:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9156:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9126:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9134:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9123:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "9123:30:5" + }, + "nodeType": "YulIf", + "src": "9120:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "9186:25:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9198:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9206:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "9194:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9194:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9186:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9248:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9260:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9266:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9256:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9256:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9248:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9033:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "9044:4:5", + "type": "" + } + ], + "src": "8957:321:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9373:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9390:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9393:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9383:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9383:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9383:12:5" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "9284:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9496:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9513:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9516:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9506:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9506:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9506:12:5" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "9407:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9597:241:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9702:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "9704:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "9704:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9704:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9674:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9682:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9671:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "9671:30:5" + }, + "nodeType": "YulIf", + "src": "9668:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "9734:37:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9764:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "9742:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "9742:29:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9734:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9808:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9820:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9826:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9816:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9816:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9808:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9581:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "9592:4:5", + "type": "" + } + ], + "src": "9530:308:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9908:82:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9931:3:5" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9936:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9941:6:5" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "9918:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "9918:30:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9918:30:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9968:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9973:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9964:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9964:16:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9982:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9957:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9957:27:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9957:27:5" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "9890:3:5", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "9895:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9900:6:5", + "type": "" + } + ], + "src": "9844:146:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10080:341:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10090:75:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10157:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10115:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "10115:49:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "10099:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "10099:66:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "10090:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "10181:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10188:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10174:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "10174:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10174:21:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10204:27:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "10219:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10226:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10215:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10215:16:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "10208:3:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10269:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "10271:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "10271:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10271:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10250:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10255:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10246:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10246:16:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10264:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10243:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "10243:25:5" + }, + "nodeType": "YulIf", + "src": "10240:112:5" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10398:3:5" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10403:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10408:6:5" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "10361:36:5" + }, + "nodeType": "YulFunctionCall", + "src": "10361:54:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10361:54:5" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "10053:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10058:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10066:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "10074:5:5", + "type": "" + } + ], + "src": "9996:425:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10503:278:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10552:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "10554:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "10554:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10554:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10531:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10539:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10527:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10527:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10546:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10523:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10523:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10516:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "10516:35:5" + }, + "nodeType": "YulIf", + "src": "10513:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10644:34:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10671:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10658:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "10658:20:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10648:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10687:88:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10748:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10756:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10744:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10744:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10763:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10771:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10696:47:5" + }, + "nodeType": "YulFunctionCall", + "src": "10696:79:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "10687:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10481:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10489:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "10497:5:5", + "type": "" + } + ], + "src": "10441:340:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10915:833:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10925:100:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11017:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10950:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "10950:74:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "10934:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "10934:91:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "10925:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11034:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11045:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "11038:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11067:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11074:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11060:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "11060:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11060:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "11090:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11101:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11108:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11097:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11097:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11090:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11123:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11141:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11153:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11161:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "11149:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11149:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11137:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11137:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "11127:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11195:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "11209:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "11209:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11209:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "11182:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11190:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11179:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "11179:15:5" + }, + "nodeType": "YulIf", + "src": "11176:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11383:359:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11398:36:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11430:3:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11417:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "11417:17:5" + }, + "variables": [ + { + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "11402:11:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11486:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "11488:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "11488:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11488:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "11453:11:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11466:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11450:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "11450:35:5" + }, + "nodeType": "YulIf", + "src": "11447:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11582:42:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11604:6:5" + }, + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "11612:11:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11600:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11600:24:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "11586:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11645:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "11681:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11693:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11650:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "11650:47:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11638:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "11638:60:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11638:60:5" + }, + { + "nodeType": "YulAssignment", + "src": "11711:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11722:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11727:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11718:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11718:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11711:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11336:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "11341:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11333:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "11333:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "11349:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11351:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11362:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11367:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11358:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11358:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11351:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "11311:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11313:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11324:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11317:3:5", + "type": "" + } + ] + } + ] + }, + "src": "11307:435:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10885:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10893:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10901:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "10909:5:5", + "type": "" + } + ], + "src": "10803:945:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11857:303:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11906:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "11908:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "11908:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11908:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11885:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11893:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11881:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11881:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11900:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11877:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11877:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11870:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "11870:35:5" + }, + "nodeType": "YulIf", + "src": "11867:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11998:34:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12025:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12012:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "12012:20:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12002:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12041:113:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12127:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12135:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12123:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12123:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12142:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12150:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12050:72:5" + }, + "nodeType": "YulFunctionCall", + "src": "12050:104:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12041:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11835:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11843:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "11851:5:5", + "type": "" + } + ], + "src": "11770:390:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12248:229:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12353:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "12355:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "12355:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12355:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12325:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12333:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12322:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "12322:30:5" + }, + "nodeType": "YulIf", + "src": "12319:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "12385:25:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12397:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12405:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "12393:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12393:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12385:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12447:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12459:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12465:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12455:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12455:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12447:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12232:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12243:4:5", + "type": "" + } + ], + "src": "12166:311:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12526:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12583:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12592:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12595:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12585:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "12585:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12585:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12549:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12574:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "12556:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "12556:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "12546:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "12546:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12539:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "12539:43:5" + }, + "nodeType": "YulIf", + "src": "12536:63:5" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12519:5:5", + "type": "" + } + ], + "src": "12483:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12663:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12673:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12695:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12682:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "12682:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12673:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12738:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "12711:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "12711:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12711:33:5" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12641:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12649:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12657:5:5", + "type": "" + } + ], + "src": "12611:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12875:608:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12885:90:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12967:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12910:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "12910:64:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "12894:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "12894:81:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12885:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12984:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12995:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "12988:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13017:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13024:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13010:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13010:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13010:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "13040:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13051:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13058:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13047:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13047:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13040:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13073:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13091:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13103:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13111:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "13099:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13099:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13087:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13087:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "13077:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13145:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "13159:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "13159:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13159:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "13132:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13140:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13129:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "13129:15:5" + }, + "nodeType": "YulIf", + "src": "13126:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13333:144:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13348:21:5", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13366:3:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "13352:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13390:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "13416:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13428:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "13395:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "13395:37:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13383:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13383:50:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13383:50:5" + }, + { + "nodeType": "YulAssignment", + "src": "13446:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13457:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13462:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13453:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13453:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13446:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13286:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "13291:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13283:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "13283:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "13299:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13301:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13312:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13317:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13308:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13308:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13301:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "13261:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13263:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13274:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13267:3:5", + "type": "" + } + ] + } + ] + }, + "src": "13257:220:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12845:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12853:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12861:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "12869:5:5", + "type": "" + } + ], + "src": "12773:710:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13583:293:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13632:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "13634:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "13634:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13634:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13611:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13619:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13607:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13607:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13626:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13603:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13603:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13596:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13596:35:5" + }, + "nodeType": "YulIf", + "src": "13593:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13724:34:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13751:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13738:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "13738:20:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13728:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13767:103:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13843:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13851:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13839:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13839:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13858:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13866:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13776:62:5" + }, + "nodeType": "YulFunctionCall", + "src": "13776:94:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13767:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13561:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13569:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13577:5:5", + "type": "" + } + ], + "src": "13506:370:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14025:771:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14071:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "14073:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "14073:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14073:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14046:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14055:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14042:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14042:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14067:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14038:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14038:32:5" + }, + "nodeType": "YulIf", + "src": "14035:119:5" + }, + { + "nodeType": "YulBlock", + "src": "14164:312:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14179:45:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14210:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14221:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14206:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14206:17:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14193:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "14193:31:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14183:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14271:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "14273:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "14273:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14273:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14243:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14251:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14240:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "14240:30:5" + }, + "nodeType": "YulIf", + "src": "14237:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "14368:98:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14438:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14449:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14434:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14434:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14458:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14378:55:5" + }, + "nodeType": "YulFunctionCall", + "src": "14378:88:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14368:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14486:303:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14501:46:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14532:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14543:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14528:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14528:18:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14515:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "14515:32:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14505:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14594:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "14596:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "14596:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14596:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14566:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14574:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14563:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "14563:30:5" + }, + "nodeType": "YulIf", + "src": "14560:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "14691:88:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14751:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14762:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14747:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14747:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14771:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14701:45:5" + }, + "nodeType": "YulFunctionCall", + "src": "14701:78:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14691:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13987:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13998:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14010:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14018:6:5", + "type": "" + } + ], + "src": "13882:914:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14867:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14884:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14907:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "14889:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "14889:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14877:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "14877:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14877:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14855:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14862:3:5", + "type": "" + } + ], + "src": "14802:118:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15024:124:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15034:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15046:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15057:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15042:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15042:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15034:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15114:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15127:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15138:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15123:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15123:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "15070:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "15070:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15070:71:5" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14996:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15008:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15019:4:5", + "type": "" + } + ], + "src": "14926:222:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15237:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15247:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15291:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulIdentifier", + "src": "15260:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "15260:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "15247:9:5" + } + ] + } + ] + }, + "name": "convert_t_contract$_menuManagement_$1147_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15217:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "15227:9:5", + "type": "" + } + ], + "src": "15154:149:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15397:89:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15414:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15473:5:5" + } + ], + "functionName": { + "name": "convert_t_contract$_menuManagement_$1147_to_t_address", + "nodeType": "YulIdentifier", + "src": "15419:53:5" + }, + "nodeType": "YulFunctionCall", + "src": "15419:60:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15407:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15407:73:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15407:73:5" + } + ] + }, + "name": "abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15385:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15392:3:5", + "type": "" + } + ], + "src": "15309:177:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15613:147:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15623:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15635:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15646:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15631:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15631:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15623:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15726:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15739:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15750:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15735:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15735:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "15659:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "15659:94:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15659:94:5" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_menuManagement_$1147__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15585:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15597:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15608:4:5", + "type": "" + } + ], + "src": "15492:268:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15862:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15879:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15884:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15872:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15872:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15872:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "15900:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15919:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15924:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15915:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15915:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "15900:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15834:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "15839:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "15850:11:5", + "type": "" + } + ], + "src": "15766:169:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16047:49:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16069:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16077:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16065:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16065:14:5" + }, + { + "hexValue": "50697a7a61", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16081:7:5", + "type": "", + "value": "Pizza" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16058:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16058:31:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16058:31:5" + } + ] + }, + "name": "store_literal_in_memory_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16039:6:5", + "type": "" + } + ], + "src": "15941:155:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16248:219:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16258:73:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16324:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16329:1:5", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16265:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "16265:66:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16258:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16429:3:5" + } + ], + "functionName": { + "name": "store_literal_in_memory_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f", + "nodeType": "YulIdentifier", + "src": "16340:88:5" + }, + "nodeType": "YulFunctionCall", + "src": "16340:93:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16340:93:5" + }, + { + "nodeType": "YulAssignment", + "src": "16442:19:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16453:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16458:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16449:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16449:12:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16442:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16236:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16244:3:5", + "type": "" + } + ], + "src": "16102:365:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16644:248:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16654:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16666:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16677:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16662:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16662:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16654:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16701:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16712:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16697:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16697:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16720:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16726:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16716:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16716:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16690:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16690:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16690:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "16746:139:5", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16880:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16754:124:5" + }, + "nodeType": "YulFunctionCall", + "src": "16754:131:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16746:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16624:9:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16639:4:5", + "type": "" + } + ], + "src": "16473:419:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16938:76:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16992:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17001:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17004:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16994:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16994:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16994:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16961:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16983:5:5" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "16968:14:5" + }, + "nodeType": "YulFunctionCall", + "src": "16968:21:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "16958:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "16958:32:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "16951:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16951:40:5" + }, + "nodeType": "YulIf", + "src": "16948:60:5" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16931:5:5", + "type": "" + } + ], + "src": "16898:116:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17080:77:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17090:22:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17105:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "17099:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "17099:13:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17090:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17145:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "17121:23:5" + }, + "nodeType": "YulFunctionCall", + "src": "17121:30:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17121:30:5" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17058:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17066:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17074:5:5", + "type": "" + } + ], + "src": "17020:137:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17237:271:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17283:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "17285:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "17285:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17285:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17258:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17267:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17254:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17254:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17279:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "17250:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17250:32:5" + }, + "nodeType": "YulIf", + "src": "17247:119:5" + }, + { + "nodeType": "YulBlock", + "src": "17376:125:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17391:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17405:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17395:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17420:71:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17463:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17474:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17459:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17459:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17483:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulIdentifier", + "src": "17430:28:5" + }, + "nodeType": "YulFunctionCall", + "src": "17430:61:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17420:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17207:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17218:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17230:6:5", + "type": "" + } + ], + "src": "17163:345:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17609:339:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17619:75:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17686:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "17644:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "17644:49:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "17628:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "17628:66:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17619:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17710:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17717:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17703:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "17703:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17703:21:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17733:27:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17748:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17755:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17744:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17744:16:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "17737:3:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17798:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "17800:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "17800:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17800:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "17779:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17784:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17775:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17775:16:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17793:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17772:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "17772:25:5" + }, + "nodeType": "YulIf", + "src": "17769:112:5" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "17925:3:5" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "17930:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17935:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "17890:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "17890:52:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17890:52:5" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "17582:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17587:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17595:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "17603:5:5", + "type": "" + } + ], + "src": "17514:434:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18041:282:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18090:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "18092:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "18092:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18092:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18069:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18077:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18065:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18065:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18084:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18061:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18061:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "18054:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "18054:35:5" + }, + "nodeType": "YulIf", + "src": "18051:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18182:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18202:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18196:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "18196:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18186:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18218:99:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18290:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18298:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18286:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18286:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18305:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18313:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "18227:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "18227:90:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "18218:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18019:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18027:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "18035:5:5", + "type": "" + } + ], + "src": "17968:355:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18468:837:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18478:100:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18570:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "18503:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "18503:74:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "18487:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "18487:91:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "18478:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18587:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "18598:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "18591:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "18620:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18627:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18613:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "18613:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18613:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "18643:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "18654:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18661:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18650:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18650:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18643:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18676:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18694:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18706:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18714:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "18702:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18702:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18690:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18690:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "18680:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18748:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "18762:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "18762:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18762:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "18735:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18743:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18732:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "18732:15:5" + }, + "nodeType": "YulIf", + "src": "18729:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18936:363:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18951:29:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18976:3:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18970:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "18970:10:5" + }, + "variables": [ + { + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "18955:11:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19032:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "19034:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "19034:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19034:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "18999:11:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19012:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18996:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "18996:35:5" + }, + "nodeType": "YulIf", + "src": "18993:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19128:42:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19150:6:5" + }, + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "19158:11:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19146:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19146:24:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "19132:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19191:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "19238:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19250:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "19196:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "19196:58:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19184:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19184:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19184:71:5" + }, + { + "nodeType": "YulAssignment", + "src": "19268:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19279:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19284:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19275:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19275:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19268:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18889:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "18894:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "18886:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "18886:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "18902:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18904:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18915:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18920:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18911:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18911:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18904:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "18864:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18866:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18877:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "18870:3:5", + "type": "" + } + ] + } + ] + }, + "src": "18860:439:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18438:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18446:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18454:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "18462:5:5", + "type": "" + } + ], + "src": "18345:960:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19425:307:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "19474:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "19476:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "19476:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19476:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19453:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19461:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19449:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19449:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19468:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "19445:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19445:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "19438:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19438:35:5" + }, + "nodeType": "YulIf", + "src": "19435:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19566:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19586:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19580:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "19580:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19570:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19602:124:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19699:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19707:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19695:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19695:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19714:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19722:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "19611:83:5" + }, + "nodeType": "YulFunctionCall", + "src": "19611:115:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "19602:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "19403:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19411:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "19419:5:5", + "type": "" + } + ], + "src": "19327:405:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19850:462:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "19896:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "19898:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "19898:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19898:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19871:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19880:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19867:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19867:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19892:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "19863:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19863:32:5" + }, + "nodeType": "YulIf", + "src": "19860:119:5" + }, + { + "nodeType": "YulBlock", + "src": "19989:316:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20004:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20028:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20039:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20024:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20024:17:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20018:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "20018:24:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "20008:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20089:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "20091:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "20091:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20091:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20061:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20069:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "20058:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "20058:30:5" + }, + "nodeType": "YulIf", + "src": "20055:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "20186:109:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20267:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20278:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20263:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20263:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "20287:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "20196:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "20196:99:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20186:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19820:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "19831:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19843:6:5", + "type": "" + } + ], + "src": "19738:574:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20381:80:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20391:22:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20406:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20400:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "20400:13:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20391:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20449:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "20422:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "20422:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20422:33:5" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "20359:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20367:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20375:5:5", + "type": "" + } + ], + "src": "20318:143:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20597:619:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20607:90:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20689:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "20632:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "20632:64:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "20616:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "20616:81:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "20607:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20706:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "20717:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "20710:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "20739:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20746:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20732:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "20732:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20732:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "20762:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "20773:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20780:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20769:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20769:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20762:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20795:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20813:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20825:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20833:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "20821:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20821:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20809:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20809:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "20799:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20867:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "20881:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "20881:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20881:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "20854:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20862:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "20851:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "20851:15:5" + }, + "nodeType": "YulIf", + "src": "20848:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21055:155:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21070:21:5", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "21088:3:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "21074:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "21112:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "21149:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21161:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "21117:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "21117:48:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21105:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "21105:61:5" + }, + "nodeType": "YulExpressionStatement", + "src": "21105:61:5" + }, + { + "nodeType": "YulAssignment", + "src": "21179:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "21190:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21195:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21186:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21186:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "21179:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "21008:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "21013:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "21005:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "21005:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "21021:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21023:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "21034:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21039:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21030:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21030:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "21023:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "20983:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20985:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20996:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "20989:3:5", + "type": "" + } + ] + } + ] + }, + "src": "20979:231:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "20567:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20575:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20583:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "20591:5:5", + "type": "" + } + ], + "src": "20484:732:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21327:297:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "21376:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "21378:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "21378:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "21378:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "21355:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21363:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21351:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21351:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21370:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "21347:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21347:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "21340:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "21340:35:5" + }, + "nodeType": "YulIf", + "src": "21337:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21468:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "21488:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21482:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "21482:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "21472:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21504:114:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "21591:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21599:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21587:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21587:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21606:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21614:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "21513:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "21513:105:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "21504:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "21305:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21313:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "21321:5:5", + "type": "" + } + ], + "src": "21239:385:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21732:452:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "21778:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "21780:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "21780:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "21780:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "21753:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21762:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21749:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21749:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21774:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "21745:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21745:32:5" + }, + "nodeType": "YulIf", + "src": "21742:119:5" + }, + { + "nodeType": "YulBlock", + "src": "21871:306:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21886:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21910:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21921:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21906:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21906:17:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21900:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "21900:24:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "21890:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21971:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "21973:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "21973:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "21973:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "21943:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21951:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "21940:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "21940:30:5" + }, + "nodeType": "YulIf", + "src": "21937:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "22068:99:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22139:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "22150:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22135:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22135:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "22159:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "22078:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "22078:89:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22068:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21702:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "21713:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "21725:6:5", + "type": "" + } + ], + "src": "21630:554:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22218:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22235:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22238:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22228:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22228:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22228:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22332:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22335:4:5", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22325:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22325:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22325:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22356:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22359:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "22349:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22349:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22349:15:5" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "22190:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22490:34:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22500:18:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22515:3:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "22500:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22462:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "22467:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "22478:11:5", + "type": "" + } + ], + "src": "22376:148:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22640:280:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22650:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22697:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "22664:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "22664:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "22654:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22712:96:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22796:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22801:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "22719:76:5" + }, + "nodeType": "YulFunctionCall", + "src": "22719:89:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22712:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22856:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22863:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22852:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22852:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22870:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22875:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "22817:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "22817:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22817:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "22891:23:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22902:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22907:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22898:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22898:16:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22891:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "22621:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22628:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22636:3:5", + "type": "" + } + ], + "src": "22530:390:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23062:139:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23073:102:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23162:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23171:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "23080:81:5" + }, + "nodeType": "YulFunctionCall", + "src": "23080:95:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23073:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23185:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23192:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23185:3:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23041:3:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23047:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23058:3:5", + "type": "" + } + ], + "src": "22926:275:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23299:285:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "23309:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23356:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "23323:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "23323:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "23313:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23371:78:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23437:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23442:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23378:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "23378:71:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23371:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23497:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23504:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23493:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23493:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23511:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23516:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "23458:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "23458:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23458:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "23532:46:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23543:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23570:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "23548:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "23548:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23539:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23539:39:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23532:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23280:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23287:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23295:3:5", + "type": "" + } + ], + "src": "23207:377:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23708:195:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23718:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23730:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23741:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23726:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23726:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23718:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23765:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23776:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23761:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23761:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23784:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23790:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23780:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23780:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23754:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "23754:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23754:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "23810:86:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23882:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23891:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23818:63:5" + }, + "nodeType": "YulFunctionCall", + "src": "23818:78:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23810:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23680:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23692:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23703:4:5", + "type": "" + } + ], + "src": "23590:313:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24064:995:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24111:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "24113:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "24113:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "24113:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24085:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24094:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24081:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24081:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24106:3:5", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "24077:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24077:33:5" + }, + "nodeType": "YulIf", + "src": "24074:120:5" + }, + { + "nodeType": "YulBlock", + "src": "24204:291:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24219:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24243:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24254:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24239:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24239:17:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24233:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "24233:24:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24223:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24304:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "24306:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "24306:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "24306:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24276:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24284:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "24273:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "24273:30:5" + }, + "nodeType": "YulIf", + "src": "24270:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "24401:84:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24457:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24468:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24453:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24453:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24477:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "24411:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "24411:74:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "24401:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24505:129:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24520:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24534:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24524:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24550:74:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24596:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24607:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24592:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24592:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24616:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "24560:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "24560:64:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "24550:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24644:129:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24659:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24673:2:5", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24663:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24689:74:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24735:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24746:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24731:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24731:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24755:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "24699:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "24699:64:5" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "24689:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24783:129:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24798:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24812:2:5", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24802:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24828:74:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24874:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24885:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24870:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24870:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24894:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "24838:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "24838:64:5" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "24828:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24922:130:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24937:17:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24951:3:5", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24941:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24968:74:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25014:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "25025:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25010:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25010:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "25034:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "24978:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "24978:64:5" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "24968:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256t_uint256t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24002:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "24013:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "24025:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "24033:6:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "24041:6:5", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "24049:6:5", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "24057:6:5", + "type": "" + } + ], + "src": "23909:1150:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25093:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25110:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25113:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25103:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25103:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25103:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25207:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25210:4:5", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25200:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25200:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25200:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25231:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25234:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25224:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25224:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25224:15:5" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "25065:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25279:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25296:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25299:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25289:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25289:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25289:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25393:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25396:4:5", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25386:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25386:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25386:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25417:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25420:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25410:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25410:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25410:15:5" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "25251:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25479:143:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25489:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25512:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25494:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "25494:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25489:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25523:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25546:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25528:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "25528:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25523:1:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25570:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "25572:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "25572:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25572:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25567:1:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25560:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25560:9:5" + }, + "nodeType": "YulIf", + "src": "25557:35:5" + }, + { + "nodeType": "YulAssignment", + "src": "25602:14:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25611:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25614:1:5" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "25607:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25607:9:5" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "25602:1:5" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25468:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25471:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "25477:1:5", + "type": "" + } + ], + "src": "25437:185:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25673:149:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25683:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25706:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25688:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "25688:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25683:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25717:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25740:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25722:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "25722:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25717:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25751:17:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25763:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25766:1:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25759:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25759:9:5" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "25751:4:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25793:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25795:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "25795:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25795:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "25784:4:5" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25790:1:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25781:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "25781:11:5" + }, + "nodeType": "YulIf", + "src": "25778:37:5" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25659:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25662:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "25668:4:5", + "type": "" + } + ], + "src": "25628:194:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25954:206:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25964:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25976:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25987:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25972:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25972:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25964:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "26044:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26057:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26068:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26053:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "26053:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "26000:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "26000:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "26000:71:5" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "26125:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26138:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26149:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26134:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "26134:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "26081:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "26081:72:5" + }, + "nodeType": "YulExpressionStatement", + "src": "26081:72:5" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25918:9:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "25930:6:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "25938:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25949:4:5", + "type": "" + } + ], + "src": "25828:332:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26214:362:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26224:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26247:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26229:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "26229:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26224:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26258:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26281:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26263:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "26263:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26258:1:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "26292:28:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26315:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26318:1:5" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "26311:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "26311:9:5" + }, + "variables": [ + { + "name": "product_raw", + "nodeType": "YulTypedName", + "src": "26296:11:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26329:41:5", + "value": { + "arguments": [ + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "26358:11:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26340:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "26340:30:5" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26329:7:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26547:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26549:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "26549:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "26549:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26480:1:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26473:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "26473:9:5" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26503:1:5" + }, + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26510:7:5" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26519:1:5" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "26506:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "26506:15:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "26500:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "26500:22:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "26453:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "26453:83:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26433:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "26433:113:5" + }, + "nodeType": "YulIf", + "src": "26430:139:5" + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26197:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26200:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "26206:7:5", + "type": "" + } + ], + "src": "26166:410:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26626:147:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26636:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26659:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26641:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "26641:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26636:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26670:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26693:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26675:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "26675:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26670:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26704:16:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26715:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26718:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26711:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "26711:9:5" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "26704:3:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26744:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26746:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "26746:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "26746:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26736:1:5" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "26739:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "26733:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "26733:10:5" + }, + "nodeType": "YulIf", + "src": "26730:36:5" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26613:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26616:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "26622:3:5", + "type": "" + } + ], + "src": "26582:191:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26822:190:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26832:33:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26859:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26841:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "26841:24:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26832:5:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26955:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26957:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "26957:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "26957:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26880:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26887:66:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "26877:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "26877:77:5" + }, + "nodeType": "YulIf", + "src": "26874:103:5" + }, + { + "nodeType": "YulAssignment", + "src": "26986:20:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26997:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27004:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26993:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "26993:13:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "26986:3:5" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26808:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "26818:3:5", + "type": "" + } + ], + "src": "26779:233:5" + } + ] + }, + "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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_discountsAndPromotions_$947_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_discountsAndPromotions_$947_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_discountsAndPromotions_$947_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_discountsAndPromotions_$947__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_discountsAndPromotions_$947_to_t_address_fromStack(value0, add(headStart, 0))\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 array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(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_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[] -> string[]\n function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value2, tail)\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // string[]\n function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_string_memory_ptr(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // string[]\n function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\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 // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function convert_t_contract$_menuManagement_$1147_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_menuManagement_$1147_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_menuManagement_$1147__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack(value0, add(headStart, 0))\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 store_literal_in_memory_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f(memPtr) {\n\n mstore(add(memPtr, 0), \"Pizza\")\n\n }\n\n function abi_encode_t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 5)\n store_literal_in_memory_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n // string[]\n function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let innerOffset := mload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_string_memory_ptr_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // string[]\n function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n 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 abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_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\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n", + "id": 5, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "138:1961:1:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "138:1961:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;255:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;208:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;461:110;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;579:307;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;894:1202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;177:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;255:198;376:9;358:2;;:28;;;;;;;;;;;;;;;;;;429:15;397:8;;:48;;;;;;;;;;;;;;;;;;255:198;;:::o;208:38::-;;;;;;;;;;;;;:::o;461:110::-;511:4;534:2;;;;;;;;;;;:20;;;:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;527:36;;461:110;:::o;579:307::-;623:16;642:14;658;684:22;709:2;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;684:42;;737:20;760:2;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;737:40;;788:23;814:2;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;788:46;;853:5;861;869:8;845:33;;;;;;;;;579:307;;;:::o;894:1202::-;997:4;1013:16;1040:22;1065:2;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1040:42;;1093:20;1116:2;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1093:40;;1144:23;1170:2;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1144:46;;1201:6;1227;1222:838;1244:5;:12;1240:1;:16;1222:838;;;1350:9;1360:1;1350:12;;;;;;;;:::i;:::-;;;;;;;;1333:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;1323:41;;;;;;1309:5;1315:1;1309:8;;;;;;;;:::i;:::-;;;;;;;;1292:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;1282:37;;;;;;:82;1278:771;;1389:16;1428:9;1439:7;1449:11;1463:8;1528;;;;;;;;;;;:31;;;1560:5;1566:1;1560:8;;;;;;;;:::i;:::-;;;;;;;;1528:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1494:75;;;;;;;;;;;;;;;;;;;;1604:1;1596:4;:9;1592:416;;1633:2;;;;;;;;;;:14;;;1692:2;1678:10;1689:1;1678:13;;;;;;;;:::i;:::-;;;;;;;;:16;;;;:::i;:::-;1662:10;1673:1;1662:13;;;;;;;;:::i;:::-;;;;;;;;1648:8;1657:1;1648:11;;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;:46;;;;:::i;:::-;1696:1;1633:65;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1756:5;1762:1;1756:8;;;;;;;;:::i;:::-;;;;;;;;1740:10;1751:1;1740:13;;;;;;;;:::i;:::-;;;;;;;;:24;;;;:::i;:::-;1725:39;;;;;:::i;:::-;;;1592:416;;;1806:1;1798:4;:9;1794:214;;1836:2;;;;;;;;;;:14;;;1895:2;1881:10;1892:1;1881:13;;;;;;;;:::i;:::-;;;;;;;;:16;;;;:::i;:::-;1865:10;1876:1;1865:13;;;;;;;;:::i;:::-;;;;;;;;1851:8;1860:1;1851:11;;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;:46;;;;:::i;:::-;1899:1;1836:65;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:5;1981:1;1975:8;;;;;;;;:::i;:::-;;;;;;;;1969:3;1960:6;:12;;;;:::i;:::-;:23;;;;:::i;:::-;1943:10;1954:1;1943:13;;;;;;;;:::i;:::-;;;;;;;;:41;;;;:::i;:::-;1928:56;;;;;:::i;:::-;;;1794:214;1592:416;2030:3;;;;;:::i;:::-;;;;1366:683;;;;;1278:771;1259:3;;;;;:::i;:::-;;;;1222:838;;;;2077:11;2070:18;;;;;;;894:1202;;;;:::o;177:24::-;;;;;;;;;;;;:::o;7:75:5:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:474::-;909:6;917;966:2;954:9;945:7;941:23;937:32;934:119;;;972:79;;:::i;:::-;934:119;1092:1;1117:53;1162:7;1153:6;1142:9;1138:22;1117:53;:::i;:::-;1107:63;;1063:117;1219:2;1245:53;1290:7;1281:6;1270:9;1266:22;1245:53;:::i;:::-;1235:63;;1190:118;841:474;;;;;:::o;1321:60::-;1349:3;1370:5;1363:12;;1321:60;;;:::o;1387:142::-;1437:9;1470:53;1488:34;1497:24;1515:5;1497:24;:::i;:::-;1488:34;:::i;:::-;1470:53;:::i;:::-;1457:66;;1387:142;;;:::o;1535:126::-;1585:9;1618:37;1649:5;1618:37;:::i;:::-;1605:50;;1535:126;;;:::o;1667:156::-;1747:9;1780:37;1811:5;1780:37;:::i;:::-;1767:50;;1667:156;;;:::o;1829:191::-;1946:67;2007:5;1946:67;:::i;:::-;1941:3;1934:80;1829:191;;:::o;2026:282::-;2149:4;2187:2;2176:9;2172:18;2164:26;;2200:101;2298:1;2287:9;2283:17;2274:6;2200:101;:::i;:::-;2026:282;;;;:::o;2314:90::-;2348:7;2391:5;2384:13;2377:21;2366:32;;2314:90;;;:::o;2410:109::-;2491:21;2506:5;2491:21;:::i;:::-;2486:3;2479:34;2410:109;;:::o;2525:210::-;2612:4;2650:2;2639:9;2635:18;2627:26;;2663:65;2725:1;2714:9;2710:17;2701:6;2663:65;:::i;:::-;2525:210;;;;:::o;2741:124::-;2818:6;2852:5;2846:12;2836:22;;2741:124;;;:::o;2871:194::-;2980:11;3014:6;3009:3;3002:19;3054:4;3049:3;3045:14;3030:29;;2871:194;;;;:::o;3071:142::-;3148:4;3171:3;3163:11;;3201:4;3196:3;3192:14;3184:22;;3071:142;;;:::o;3219:99::-;3271:6;3305:5;3299:12;3289:22;;3219:99;;;:::o;3324:159::-;3398:11;3432:6;3427:3;3420:19;3472:4;3467:3;3463:14;3448:29;;3324:159;;;;:::o;3489:246::-;3570:1;3580:113;3594:6;3591:1;3588:13;3580:113;;;3679:1;3674:3;3670:11;3664:18;3660:1;3655:3;3651:11;3644:39;3616:2;3613:1;3609:10;3604:15;;3580:113;;;3727:1;3718:6;3713:3;3709:16;3702:27;3551:184;3489:246;;;:::o;3741:102::-;3782:6;3833:2;3829:7;3824:2;3817:5;3813:14;3809:28;3799:38;;3741:102;;;:::o;3849:357::-;3927:3;3955:39;3988:5;3955:39;:::i;:::-;4010:61;4064:6;4059:3;4010:61;:::i;:::-;4003:68;;4080:65;4138:6;4133:3;4126:4;4119:5;4115:16;4080:65;:::i;:::-;4170:29;4192:6;4170:29;:::i;:::-;4165:3;4161:39;4154:46;;3931:275;3849:357;;;;:::o;4212:196::-;4301:10;4336:66;4398:3;4390:6;4336:66;:::i;:::-;4322:80;;4212:196;;;;:::o;4414:123::-;4494:4;4526;4521:3;4517:14;4509:22;;4414:123;;;:::o;4571:991::-;4710:3;4739:64;4797:5;4739:64;:::i;:::-;4819:96;4908:6;4903:3;4819:96;:::i;:::-;4812:103;;4941:3;4986:4;4978:6;4974:17;4969:3;4965:27;5016:66;5076:5;5016:66;:::i;:::-;5105:7;5136:1;5121:396;5146:6;5143:1;5140:13;5121:396;;;5217:9;5211:4;5207:20;5202:3;5195:33;5268:6;5262:13;5296:84;5375:4;5360:13;5296:84;:::i;:::-;5288:92;;5403:70;5466:6;5403:70;:::i;:::-;5393:80;;5502:4;5497:3;5493:14;5486:21;;5181:336;5168:1;5165;5161:9;5156:14;;5121:396;;;5125:14;5533:4;5526:11;;5553:3;5546:10;;4715:847;;;;;4571:991;;;;:::o;5568:114::-;5635:6;5669:5;5663:12;5653:22;;5568:114;;;:::o;5688:184::-;5787:11;5821:6;5816:3;5809:19;5861:4;5856:3;5852:14;5837:29;;5688:184;;;;:::o;5878:132::-;5945:4;5968:3;5960:11;;5998:4;5993:3;5989:14;5981:22;;5878:132;;;:::o;6016:77::-;6053:7;6082:5;6071:16;;6016:77;;;:::o;6099:108::-;6176:24;6194:5;6176:24;:::i;:::-;6171:3;6164:37;6099:108;;:::o;6213:179::-;6282:10;6303:46;6345:3;6337:6;6303:46;:::i;:::-;6381:4;6376:3;6372:14;6358:28;;6213:179;;;;:::o;6398:113::-;6468:4;6500;6495:3;6491:14;6483:22;;6398:113;;;:::o;6547:732::-;6666:3;6695:54;6743:5;6695:54;:::i;:::-;6765:86;6844:6;6839:3;6765:86;:::i;:::-;6758:93;;6875:56;6925:5;6875:56;:::i;:::-;6954:7;6985:1;6970:284;6995:6;6992:1;6989:13;6970:284;;;7071:6;7065:13;7098:63;7157:3;7142:13;7098:63;:::i;:::-;7091:70;;7184:60;7237:6;7184:60;:::i;:::-;7174:70;;7030:224;7017:1;7014;7010:9;7005:14;;6970:284;;;6974:14;7270:3;7263:10;;6671:608;;;6547:732;;;;:::o;7285:935::-;7604:4;7642:2;7631:9;7627:18;7619:26;;7691:9;7685:4;7681:20;7677:1;7666:9;7662:17;7655:47;7719:128;7842:4;7833:6;7719:128;:::i;:::-;7711:136;;7894:9;7888:4;7884:20;7879:2;7868:9;7864:18;7857:48;7922:108;8025:4;8016:6;7922:108;:::i;:::-;7914:116;;8077:9;8071:4;8067:20;8062:2;8051:9;8047:18;8040:48;8105:108;8208:4;8199:6;8105:108;:::i;:::-;8097:116;;7285:935;;;;;;:::o;8226:117::-;8335:1;8332;8325:12;8349:180;8397:77;8394:1;8387:88;8494:4;8491:1;8484:15;8518:4;8515:1;8508:15;8535:281;8618:27;8640:4;8618:27;:::i;:::-;8610:6;8606:40;8748:6;8736:10;8733:22;8712:18;8700:10;8697:34;8694:62;8691:88;;;8759:18;;:::i;:::-;8691:88;8799:10;8795:2;8788:22;8578:238;8535:281;;:::o;8822:129::-;8856:6;8883:20;;:::i;:::-;8873:30;;8912:33;8940:4;8932:6;8912:33;:::i;:::-;8822:129;;;:::o;8957:321::-;9044:4;9134:18;9126:6;9123:30;9120:56;;;9156:18;;:::i;:::-;9120:56;9206:4;9198:6;9194:17;9186:25;;9266:4;9260;9256:15;9248:23;;8957:321;;;:::o;9284:117::-;9393:1;9390;9383:12;9407:117;9516:1;9513;9506:12;9530:308;9592:4;9682:18;9674:6;9671:30;9668:56;;;9704:18;;:::i;:::-;9668:56;9742:29;9764:6;9742:29;:::i;:::-;9734:37;;9826:4;9820;9816:15;9808:23;;9530:308;;;:::o;9844:146::-;9941:6;9936:3;9931;9918:30;9982:1;9973:6;9968:3;9964:16;9957:27;9844:146;;;:::o;9996:425::-;10074:5;10099:66;10115:49;10157:6;10115:49;:::i;:::-;10099:66;:::i;:::-;10090:75;;10188:6;10181:5;10174:21;10226:4;10219:5;10215:16;10264:3;10255:6;10250:3;10246:16;10243:25;10240:112;;;10271:79;;:::i;:::-;10240:112;10361:54;10408:6;10403:3;10398;10361:54;:::i;:::-;10080:341;9996:425;;;;;:::o;10441:340::-;10497:5;10546:3;10539:4;10531:6;10527:17;10523:27;10513:122;;10554:79;;:::i;:::-;10513:122;10671:6;10658:20;10696:79;10771:3;10763:6;10756:4;10748:6;10744:17;10696:79;:::i;:::-;10687:88;;10503:278;10441:340;;;;:::o;10803:945::-;10909:5;10934:91;10950:74;11017:6;10950:74;:::i;:::-;10934:91;:::i;:::-;10925:100;;11045:5;11074:6;11067:5;11060:21;11108:4;11101:5;11097:16;11090:23;;11161:4;11153:6;11149:17;11141:6;11137:30;11190:3;11182:6;11179:15;11176:122;;;11209:79;;:::i;:::-;11176:122;11324:6;11307:435;11341:6;11336:3;11333:15;11307:435;;;11430:3;11417:17;11466:18;11453:11;11450:35;11447:122;;;11488:79;;:::i;:::-;11447:122;11612:11;11604:6;11600:24;11650:47;11693:3;11681:10;11650:47;:::i;:::-;11645:3;11638:60;11727:4;11722:3;11718:14;11711:21;;11383:359;;11367:4;11362:3;11358:14;11351:21;;11307:435;;;11311:21;10915:833;;10803:945;;;;;:::o;11770:390::-;11851:5;11900:3;11893:4;11885:6;11881:17;11877:27;11867:122;;11908:79;;:::i;:::-;11867:122;12025:6;12012:20;12050:104;12150:3;12142:6;12135:4;12127:6;12123:17;12050:104;:::i;:::-;12041:113;;11857:303;11770:390;;;;:::o;12166:311::-;12243:4;12333:18;12325:6;12322:30;12319:56;;;12355:18;;:::i;:::-;12319:56;12405:4;12397:6;12393:17;12385:25;;12465:4;12459;12455:15;12447:23;;12166:311;;;:::o;12483:122::-;12556:24;12574:5;12556:24;:::i;:::-;12549:5;12546:35;12536:63;;12595:1;12592;12585:12;12536:63;12483:122;:::o;12611:139::-;12657:5;12695:6;12682:20;12673:29;;12711:33;12738:5;12711:33;:::i;:::-;12611:139;;;;:::o;12773:710::-;12869:5;12894:81;12910:64;12967:6;12910:64;:::i;:::-;12894:81;:::i;:::-;12885:90;;12995:5;13024:6;13017:5;13010:21;13058:4;13051:5;13047:16;13040:23;;13111:4;13103:6;13099:17;13091:6;13087:30;13140:3;13132:6;13129:15;13126:122;;;13159:79;;:::i;:::-;13126:122;13274:6;13257:220;13291:6;13286:3;13283:15;13257:220;;;13366:3;13395:37;13428:3;13416:10;13395:37;:::i;:::-;13390:3;13383:50;13462:4;13457:3;13453:14;13446:21;;13333:144;13317:4;13312:3;13308:14;13301:21;;13257:220;;;13261:21;12875:608;;12773:710;;;;;:::o;13506:370::-;13577:5;13626:3;13619:4;13611:6;13607:17;13603:27;13593:122;;13634:79;;:::i;:::-;13593:122;13751:6;13738:20;13776:94;13866:3;13858:6;13851:4;13843:6;13839:17;13776:94;:::i;:::-;13767:103;;13583:293;13506:370;;;;:::o;13882:914::-;14010:6;14018;14067:2;14055:9;14046:7;14042:23;14038:32;14035:119;;;14073:79;;:::i;:::-;14035:119;14221:1;14210:9;14206:17;14193:31;14251:18;14243:6;14240:30;14237:117;;;14273:79;;:::i;:::-;14237:117;14378:88;14458:7;14449:6;14438:9;14434:22;14378:88;:::i;:::-;14368:98;;14164:312;14543:2;14532:9;14528:18;14515:32;14574:18;14566:6;14563:30;14560:117;;;14596:79;;:::i;:::-;14560:117;14701:78;14771:7;14762:6;14751:9;14747:22;14701:78;:::i;:::-;14691:88;;14486:303;13882:914;;;;;:::o;14802:118::-;14889:24;14907:5;14889:24;:::i;:::-;14884:3;14877:37;14802:118;;:::o;14926:222::-;15019:4;15057:2;15046:9;15042:18;15034:26;;15070:71;15138:1;15127:9;15123:17;15114:6;15070:71;:::i;:::-;14926:222;;;;:::o;15154:149::-;15227:9;15260:37;15291:5;15260:37;:::i;:::-;15247:50;;15154:149;;;:::o;15309:177::-;15419:60;15473:5;15419:60;:::i;:::-;15414:3;15407:73;15309:177;;:::o;15492:268::-;15608:4;15646:2;15635:9;15631:18;15623:26;;15659:94;15750:1;15739:9;15735:17;15726:6;15659:94;:::i;:::-;15492:268;;;;:::o;15766:169::-;15850:11;15884:6;15879:3;15872:19;15924:4;15919:3;15915:14;15900:29;;15766:169;;;;:::o;15941:155::-;16081:7;16077:1;16069:6;16065:14;16058:31;15941:155;:::o;16102:365::-;16244:3;16265:66;16329:1;16324:3;16265:66;:::i;:::-;16258:73;;16340:93;16429:3;16340:93;:::i;:::-;16458:2;16453:3;16449:12;16442:19;;16102:365;;;:::o;16473:419::-;16639:4;16677:2;16666:9;16662:18;16654:26;;16726:9;16720:4;16716:20;16712:1;16701:9;16697:17;16690:47;16754:131;16880:4;16754:131;:::i;:::-;16746:139;;16473:419;;;:::o;16898:116::-;16968:21;16983:5;16968:21;:::i;:::-;16961:5;16958:32;16948:60;;17004:1;17001;16994:12;16948:60;16898:116;:::o;17020:137::-;17074:5;17105:6;17099:13;17090:22;;17121:30;17145:5;17121:30;:::i;:::-;17020:137;;;;:::o;17163:345::-;17230:6;17279:2;17267:9;17258:7;17254:23;17250:32;17247:119;;;17285:79;;:::i;:::-;17247:119;17405:1;17430:61;17483:7;17474:6;17463:9;17459:22;17430:61;:::i;:::-;17420:71;;17376:125;17163:345;;;;:::o;17514:434::-;17603:5;17628:66;17644:49;17686:6;17644:49;:::i;:::-;17628:66;:::i;:::-;17619:75;;17717:6;17710:5;17703:21;17755:4;17748:5;17744:16;17793:3;17784:6;17779:3;17775:16;17772:25;17769:112;;;17800:79;;:::i;:::-;17769:112;17890:52;17935:6;17930:3;17925;17890:52;:::i;:::-;17609:339;17514:434;;;;;:::o;17968:355::-;18035:5;18084:3;18077:4;18069:6;18065:17;18061:27;18051:122;;18092:79;;:::i;:::-;18051:122;18202:6;18196:13;18227:90;18313:3;18305:6;18298:4;18290:6;18286:17;18227:90;:::i;:::-;18218:99;;18041:282;17968:355;;;;:::o;18345:960::-;18462:5;18487:91;18503:74;18570:6;18503:74;:::i;:::-;18487:91;:::i;:::-;18478:100;;18598:5;18627:6;18620:5;18613:21;18661:4;18654:5;18650:16;18643:23;;18714:4;18706:6;18702:17;18694:6;18690:30;18743:3;18735:6;18732:15;18729:122;;;18762:79;;:::i;:::-;18729:122;18877:6;18860:439;18894:6;18889:3;18886:15;18860:439;;;18976:3;18970:10;19012:18;18999:11;18996:35;18993:122;;;19034:79;;:::i;:::-;18993:122;19158:11;19150:6;19146:24;19196:58;19250:3;19238:10;19196:58;:::i;:::-;19191:3;19184:71;19284:4;19279:3;19275:14;19268:21;;18936:363;;18920:4;18915:3;18911:14;18904:21;;18860:439;;;18864:21;18468:837;;18345:960;;;;;:::o;19327:405::-;19419:5;19468:3;19461:4;19453:6;19449:17;19445:27;19435:122;;19476:79;;:::i;:::-;19435:122;19586:6;19580:13;19611:115;19722:3;19714:6;19707:4;19699:6;19695:17;19611:115;:::i;:::-;19602:124;;19425:307;19327:405;;;;:::o;19738:574::-;19843:6;19892:2;19880:9;19871:7;19867:23;19863:32;19860:119;;;19898:79;;:::i;:::-;19860:119;20039:1;20028:9;20024:17;20018:24;20069:18;20061:6;20058:30;20055:117;;;20091:79;;:::i;:::-;20055:117;20196:99;20287:7;20278:6;20267:9;20263:22;20196:99;:::i;:::-;20186:109;;19989:316;19738:574;;;;:::o;20318:143::-;20375:5;20406:6;20400:13;20391:22;;20422:33;20449:5;20422:33;:::i;:::-;20318:143;;;;:::o;20484:732::-;20591:5;20616:81;20632:64;20689:6;20632:64;:::i;:::-;20616:81;:::i;:::-;20607:90;;20717:5;20746:6;20739:5;20732:21;20780:4;20773:5;20769:16;20762:23;;20833:4;20825:6;20821:17;20813:6;20809:30;20862:3;20854:6;20851:15;20848:122;;;20881:79;;:::i;:::-;20848:122;20996:6;20979:231;21013:6;21008:3;21005:15;20979:231;;;21088:3;21117:48;21161:3;21149:10;21117:48;:::i;:::-;21112:3;21105:61;21195:4;21190:3;21186:14;21179:21;;21055:155;21039:4;21034:3;21030:14;21023:21;;20979:231;;;20983:21;20597:619;;20484:732;;;;;:::o;21239:385::-;21321:5;21370:3;21363:4;21355:6;21351:17;21347:27;21337:122;;21378:79;;:::i;:::-;21337:122;21488:6;21482:13;21513:105;21614:3;21606:6;21599:4;21591:6;21587:17;21513:105;:::i;:::-;21504:114;;21327:297;21239:385;;;;:::o;21630:554::-;21725:6;21774:2;21762:9;21753:7;21749:23;21745:32;21742:119;;;21780:79;;:::i;:::-;21742:119;21921:1;21910:9;21906:17;21900:24;21951:18;21943:6;21940:30;21937:117;;;21973:79;;:::i;:::-;21937:117;22078:89;22159:7;22150:6;22139:9;22135:22;22078:89;:::i;:::-;22068:99;;21871:306;21630:554;;;;:::o;22190:180::-;22238:77;22235:1;22228:88;22335:4;22332:1;22325:15;22359:4;22356:1;22349:15;22376:148;22478:11;22515:3;22500:18;;22376:148;;;;:::o;22530:390::-;22636:3;22664:39;22697:5;22664:39;:::i;:::-;22719:89;22801:6;22796:3;22719:89;:::i;:::-;22712:96;;22817:65;22875:6;22870:3;22863:4;22856:5;22852:16;22817:65;:::i;:::-;22907:6;22902:3;22898:16;22891:23;;22640:280;22530:390;;;;:::o;22926:275::-;23058:3;23080:95;23171:3;23162:6;23080:95;:::i;:::-;23073:102;;23192:3;23185:10;;22926:275;;;;:::o;23207:377::-;23295:3;23323:39;23356:5;23323:39;:::i;:::-;23378:71;23442:6;23437:3;23378:71;:::i;:::-;23371:78;;23458:65;23516:6;23511:3;23504:4;23497:5;23493:16;23458:65;:::i;:::-;23548:29;23570:6;23548:29;:::i;:::-;23543:3;23539:39;23532:46;;23299:285;23207:377;;;;:::o;23590:313::-;23703:4;23741:2;23730:9;23726:18;23718:26;;23790:9;23784:4;23780:20;23776:1;23765:9;23761:17;23754:47;23818:78;23891:4;23882:6;23818:78;:::i;:::-;23810:86;;23590:313;;;;:::o;23909:1150::-;24025:6;24033;24041;24049;24057;24106:3;24094:9;24085:7;24081:23;24077:33;24074:120;;;24113:79;;:::i;:::-;24074:120;24254:1;24243:9;24239:17;24233:24;24284:18;24276:6;24273:30;24270:117;;;24306:79;;:::i;:::-;24270:117;24411:74;24477:7;24468:6;24457:9;24453:22;24411:74;:::i;:::-;24401:84;;24204:291;24534:2;24560:64;24616:7;24607:6;24596:9;24592:22;24560:64;:::i;:::-;24550:74;;24505:129;24673:2;24699:64;24755:7;24746:6;24735:9;24731:22;24699:64;:::i;:::-;24689:74;;24644:129;24812:2;24838:64;24894:7;24885:6;24874:9;24870:22;24838:64;:::i;:::-;24828:74;;24783:129;24951:3;24978:64;25034:7;25025:6;25014:9;25010:22;24978:64;:::i;:::-;24968:74;;24922:130;23909:1150;;;;;;;;:::o;25065:180::-;25113:77;25110:1;25103:88;25210:4;25207:1;25200:15;25234:4;25231:1;25224:15;25251:180;25299:77;25296:1;25289:88;25396:4;25393:1;25386:15;25420:4;25417:1;25410:15;25437:185;25477:1;25494:20;25512:1;25494:20;:::i;:::-;25489:25;;25528:20;25546:1;25528:20;:::i;:::-;25523:25;;25567:1;25557:35;;25572:18;;:::i;:::-;25557:35;25614:1;25611;25607:9;25602:14;;25437:185;;;;:::o;25628:194::-;25668:4;25688:20;25706:1;25688:20;:::i;:::-;25683:25;;25722:20;25740:1;25722:20;:::i;:::-;25717:25;;25766:1;25763;25759:9;25751:17;;25790:1;25784:4;25781:11;25778:37;;;25795:18;;:::i;:::-;25778:37;25628:194;;;;:::o;25828:332::-;25949:4;25987:2;25976:9;25972:18;25964:26;;26000:71;26068:1;26057:9;26053:17;26044:6;26000:71;:::i;:::-;26081:72;26149:2;26138:9;26134:18;26125:6;26081:72;:::i;:::-;25828:332;;;;;:::o;26166:410::-;26206:7;26229:20;26247:1;26229:20;:::i;:::-;26224:25;;26263:20;26281:1;26263:20;:::i;:::-;26258:25;;26318:1;26315;26311:9;26340:30;26358:11;26340:30;:::i;:::-;26329:41;;26519:1;26510:7;26506:15;26503:1;26500:22;26480:1;26473:9;26453:83;26430:139;;26549:18;;:::i;:::-;26430:139;26214:362;26166:410;;;;:::o;26582:191::-;26622:3;26641:20;26659:1;26641:20;:::i;:::-;26636:25;;26675:20;26693:1;26675:20;:::i;:::-;26670:25;;26718:1;26715;26711:9;26704:16;;26739:3;26736:1;26733:10;26730:36;;;26746:18;;:::i;:::-;26730:36;26582:191;;;;:::o;26779:233::-;26818:3;26841:24;26859:5;26841:24;:::i;:::-;26832:33;;26887:66;26880:5;26877:77;26874:103;;26957:18;;:::i;:::-;26874:103;27004:1;26997:5;26993:13;26986:20;;26779:233;;;:::o", + "source": "//SPDX-License-Identifier:MIT\r\npragma solidity >=0.8.10 <0.8.20;\r\nimport \"./menuManagement.sol\";\r\nimport \"./discountsAndPromotions.sol\";\r\ncontract OrderProcessingContract{\r\n menuManagement public mn;\r\n discountsAndPromotions public discAPro;\r\n\r\n function setmenuanddiscountsandpromotions(address _addrmenu , address _addrdiscandpro)public{\r\n mn=menuManagement(_addrmenu);\r\n discAPro=discountsAndPromotions(_addrdiscandpro);\r\n }\r\n\r\n function CheckinAvailability()public view returns(bool){\r\n return mn.CheckAvailability(\"Pizza\");\r\n }\r\n\r\n function getMenuItems() public view returns(string [] memory , uint [] memory, uint [] memory){\r\n string [] memory names = mn.getItemNames();\r\n uint [] memory price = mn.getMenuPrice();\r\n uint [] memory quantity = mn.getMenuQuantity();\r\n return (names , price , quantity);\r\n }\r\n\r\n function CalculateOrderAmount(string [] memory itemnames , uint [] memory quantities) external returns(uint){\r\n uint totalAmount;\r\n string [] memory names = mn.getItemNames();\r\n uint [] memory price = mn.getMenuPrice();\r\n uint [] memory quantity = mn.getMenuQuantity();\r\n uint j = 0;\r\n for (uint i = 0 ; i < names.length ; i++){\r\n if (keccak256(abi.encodePacked(names[i])) == keccak256(abi.encodePacked(itemnames[j]))) {\r\n string memory nm;\r\n uint typs; uint qt ; uint prcper ; uint dur;\r\n (nm , typs , qt , prcper , dur) = discAPro.PromotionsandDiscounts(names[i]);\r\n if (typs == 1){\r\n mn.setQuantity(quantity[i] - quantities[j] - quantities[j]/qt, i);\r\n totalAmount += quantities[j] * price[i];\r\n } else if (typs == 2) {\r\n mn.setQuantity(quantity[i] - quantities[j] - quantities[j]/qt, i);\r\n totalAmount += quantities[j] * (prcper / 100 * price[i]);\r\n }\r\n j++;\r\n }\r\n }\r\n return totalAmount;\r\n }\r\n}", + "sourcePath": "/home/awais/Downloads/Project2/contracts/OrderProcessingContract.sol", + "ast": { + "absolutePath": "project:/contracts/OrderProcessingContract.sol", + "exportedSymbols": { + "OrderProcessingContract": [ + 667 + ], + "discountsAndPromotions": [ + 947 + ], + "menuManagement": [ + 1147 + ] + }, + "id": 668, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 397, + "literals": [ + "solidity", + ">=", + "0.8", + ".10", + "<", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:33:1" + }, + { + "absolutePath": "project:/contracts/menuManagement.sol", + "file": "./menuManagement.sol", + "id": 398, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 668, + "sourceUnit": 1148, + "src": "66:30:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/discountsAndPromotions.sol", + "file": "./discountsAndPromotions.sol", + "id": 399, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 668, + "sourceUnit": 948, + "src": "98:38:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "OrderProcessingContract", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 667, + "linearizedBaseContracts": [ + 667 + ], + "name": "OrderProcessingContract", + "nameLocation": "147:23:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "ffc841bd", + "id": 402, + "mutability": "mutable", + "name": "mn", + "nameLocation": "199:2:1", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "177:24:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + }, + "typeName": { + "id": 401, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 400, + "name": "menuManagement", + "nameLocations": [ + "177:14:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1147, + "src": "177:14:1" + }, + "referencedDeclaration": 1147, + "src": "177:14:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "a940f7d2", + "id": 405, + "mutability": "mutable", + "name": "discAPro", + "nameLocation": "238:8:1", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "208:38:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_discountsAndPromotions_$947", + "typeString": "contract discountsAndPromotions" + }, + "typeName": { + "id": 404, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 403, + "name": "discountsAndPromotions", + "nameLocations": [ + "208:22:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 947, + "src": "208:22:1" + }, + "referencedDeclaration": 947, + "src": "208:22:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_discountsAndPromotions_$947", + "typeString": "contract discountsAndPromotions" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 424, + "nodeType": "Block", + "src": "347:106:1", + "statements": [ + { + "expression": { + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 412, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "358:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 414, + "name": "_addrmenu", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "376:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 413, + "name": "menuManagement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "361:14:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_menuManagement_$1147_$", + "typeString": "type(contract menuManagement)" + } + }, + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "361:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "src": "358:28:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 417, + "nodeType": "ExpressionStatement", + "src": "358:28:1" + }, + { + "expression": { + "id": 422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 418, + "name": "discAPro", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "397:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_discountsAndPromotions_$947", + "typeString": "contract discountsAndPromotions" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 420, + "name": "_addrdiscandpro", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 409, + "src": "429:15:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 419, + "name": "discountsAndPromotions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 947, + "src": "406:22:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_discountsAndPromotions_$947_$", + "typeString": "type(contract discountsAndPromotions)" + } + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "406:39:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_discountsAndPromotions_$947", + "typeString": "contract discountsAndPromotions" + } + }, + "src": "397:48:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_discountsAndPromotions_$947", + "typeString": "contract discountsAndPromotions" + } + }, + "id": 423, + "nodeType": "ExpressionStatement", + "src": "397:48:1" + } + ] + }, + "functionSelector": "37265dff", + "id": 425, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setmenuanddiscountsandpromotions", + "nameLocation": "264:32:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 407, + "mutability": "mutable", + "name": "_addrmenu", + "nameLocation": "305:9:1", + "nodeType": "VariableDeclaration", + "scope": 425, + "src": "297:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "297:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 409, + "mutability": "mutable", + "name": "_addrdiscandpro", + "nameLocation": "325:15:1", + "nodeType": "VariableDeclaration", + "scope": 425, + "src": "317:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "296:45:1" + }, + "returnParameters": { + "id": 411, + "nodeType": "ParameterList", + "parameters": [], + "src": "347:0:1" + }, + "scope": 667, + "src": "255:198:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 435, + "nodeType": "Block", + "src": "516:55:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "50697a7a61", + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:7:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f", + "typeString": "literal_string \"Pizza\"" + }, + "value": "Pizza" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_77b5bde7b08193ceee1e001d02f67777f5702120347a22ffe32387679c3ad28f", + "typeString": "literal_string \"Pizza\"" + } + ], + "expression": { + "id": 430, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "534:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "537:17:1", + "memberName": "CheckAvailability", + "nodeType": "MemberAccess", + "referencedDeclaration": 1128, + "src": "534:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view external returns (bool)" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "534:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 429, + "id": 434, + "nodeType": "Return", + "src": "527:36:1" + } + ] + }, + "functionSelector": "bb93d0fd", + "id": 436, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "CheckinAvailability", + "nameLocation": "470:19:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 426, + "nodeType": "ParameterList", + "parameters": [], + "src": "489:2:1" + }, + "returnParameters": { + "id": 429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "511:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 427, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "511:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "510:6:1" + }, + "scope": 667, + "src": "461:110:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 480, + "nodeType": "Block", + "src": "673:213:1", + "statements": [ + { + "assignments": [ + 452 + ], + "declarations": [ + { + "constant": false, + "id": 452, + "mutability": "mutable", + "name": "names", + "nameLocation": "701:5:1", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "684:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 450, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "684:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 451, + "nodeType": "ArrayTypeName", + "src": "684:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "id": 456, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 453, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "709:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "712:12:1", + "memberName": "getItemNames", + "nodeType": "MemberAccess", + "referencedDeclaration": 1073, + "src": "709:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view external returns (string memory[] memory)" + } + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "709:17:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "684:42:1" + }, + { + "assignments": [ + 461 + ], + "declarations": [ + { + "constant": false, + "id": 461, + "mutability": "mutable", + "name": "price", + "nameLocation": "752:5:1", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "737:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 459, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "737:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 460, + "nodeType": "ArrayTypeName", + "src": "737:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 465, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 462, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "760:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "763:12:1", + "memberName": "getMenuPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 1137, + "src": "760:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "760:17:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "737:40:1" + }, + { + "assignments": [ + 470 + ], + "declarations": [ + { + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "803:8:1", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "788:23:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 468, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "788:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 469, + "nodeType": "ArrayTypeName", + "src": "788:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 474, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 471, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "814:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "817:15:1", + "memberName": "getMenuQuantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 1146, + "src": "814:18:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "814:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "788:46:1" + }, + { + "expression": { + "components": [ + { + "id": 475, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 452, + "src": "853:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + { + "id": 476, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "861:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 477, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 470, + "src": "869:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 478, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "852:26:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(string memory[] memory,uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 447, + "id": 479, + "nodeType": "Return", + "src": "845:33:1" + } + ] + }, + "functionSelector": "c2e0a80d", + "id": 481, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMenuItems", + "nameLocation": "588:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [], + "src": "600:2:1" + }, + "returnParameters": { + "id": 447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 440, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 481, + "src": "623:16:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 438, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "623:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 439, + "nodeType": "ArrayTypeName", + "src": "623:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 443, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 481, + "src": "642:14:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 441, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "642:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 442, + "nodeType": "ArrayTypeName", + "src": "642:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 446, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 481, + "src": "658:14:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 444, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "658:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 445, + "nodeType": "ArrayTypeName", + "src": "658:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "622:51:1" + }, + "scope": 667, + "src": "579:307:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 665, + "nodeType": "Block", + "src": "1002:1094:1", + "statements": [ + { + "assignments": [ + 493 + ], + "declarations": [ + { + "constant": false, + "id": 493, + "mutability": "mutable", + "name": "totalAmount", + "nameLocation": "1018:11:1", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1013:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 492, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1013:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 494, + "nodeType": "VariableDeclarationStatement", + "src": "1013:16:1" + }, + { + "assignments": [ + 499 + ], + "declarations": [ + { + "constant": false, + "id": 499, + "mutability": "mutable", + "name": "names", + "nameLocation": "1057:5:1", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1040:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 497, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1040:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 498, + "nodeType": "ArrayTypeName", + "src": "1040:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "id": 503, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 500, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "1065:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1068:12:1", + "memberName": "getItemNames", + "nodeType": "MemberAccess", + "referencedDeclaration": 1073, + "src": "1065:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view external returns (string memory[] memory)" + } + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1065:17:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1040:42:1" + }, + { + "assignments": [ + 508 + ], + "declarations": [ + { + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "price", + "nameLocation": "1108:5:1", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1093:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 506, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1093:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 507, + "nodeType": "ArrayTypeName", + "src": "1093:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 512, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 509, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "1116:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1119:12:1", + "memberName": "getMenuPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 1137, + "src": "1116:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1116:17:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1093:40:1" + }, + { + "assignments": [ + 517 + ], + "declarations": [ + { + "constant": false, + "id": 517, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "1159:8:1", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1144:23:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 515, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1144:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 516, + "nodeType": "ArrayTypeName", + "src": "1144:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 521, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 518, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "1170:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1173:15:1", + "memberName": "getMenuQuantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 1146, + "src": "1170:18:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1170:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1144:46:1" + }, + { + "assignments": [ + 523 + ], + "declarations": [ + { + "constant": false, + "id": 523, + "mutability": "mutable", + "name": "j", + "nameLocation": "1206:1:1", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1201:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 522, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1201:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 525, + "initialValue": { + "hexValue": "30", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1210:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1201:10:1" + }, + { + "body": { + "id": 661, + "nodeType": "Block", + "src": "1263:797:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 540, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "1309:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 542, + "indexExpression": { + "id": 541, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1315:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1309:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 538, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1292:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1296:12:1", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1292:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1292:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 537, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1282:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1282:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 548, + "name": "itemnames", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 484, + "src": "1350:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 550, + "indexExpression": { + "id": 549, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1360:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1350:12:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 546, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1333:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1337:12:1", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1333:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1333:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 545, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1323:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1323:41:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1282:82:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 660, + "nodeType": "IfStatement", + "src": "1278:771:1", + "trueBody": { + "id": 659, + "nodeType": "Block", + "src": "1366:683:1", + "statements": [ + { + "assignments": [ + 555 + ], + "declarations": [ + { + "constant": false, + "id": 555, + "mutability": "mutable", + "name": "nm", + "nameLocation": "1403:2:1", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "1389:16:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 554, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1389:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 556, + "nodeType": "VariableDeclarationStatement", + "src": "1389:16:1" + }, + { + "assignments": [ + 558 + ], + "declarations": [ + { + "constant": false, + "id": 558, + "mutability": "mutable", + "name": "typs", + "nameLocation": "1433:4:1", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "1428:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 557, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1428:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 559, + "nodeType": "VariableDeclarationStatement", + "src": "1428:9:1" + }, + { + "assignments": [ + 561 + ], + "declarations": [ + { + "constant": false, + "id": 561, + "mutability": "mutable", + "name": "qt", + "nameLocation": "1444:2:1", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "1439:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 560, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1439:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 562, + "nodeType": "VariableDeclarationStatement", + "src": "1439:7:1" + }, + { + "assignments": [ + 564 + ], + "declarations": [ + { + "constant": false, + "id": 564, + "mutability": "mutable", + "name": "prcper", + "nameLocation": "1454:6:1", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "1449:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 563, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1449:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 565, + "nodeType": "VariableDeclarationStatement", + "src": "1449:11:1" + }, + { + "assignments": [ + 567 + ], + "declarations": [ + { + "constant": false, + "id": 567, + "mutability": "mutable", + "name": "dur", + "nameLocation": "1468:3:1", + "nodeType": "VariableDeclaration", + "scope": 659, + "src": "1463:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 566, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1463:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 568, + "nodeType": "VariableDeclarationStatement", + "src": "1463:8:1" + }, + { + "expression": { + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 569, + "name": "nm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "1495:2:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 570, + "name": "typs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "1500:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 571, + "name": "qt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 561, + "src": "1507:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 572, + "name": "prcper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "1512:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 573, + "name": "dur", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 567, + "src": "1521:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 574, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1494:31:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(string memory,uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 577, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "1560:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 579, + "indexExpression": { + "id": 578, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1566:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1560:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 575, + "name": "discAPro", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "1528:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_discountsAndPromotions_$947", + "typeString": "contract discountsAndPromotions" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1537:22:1", + "memberName": "PromotionsandDiscounts", + "nodeType": "MemberAccess", + "referencedDeclaration": 710, + "src": "1528:31:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (string memory) view external returns (string memory,uint256,uint256,uint256,uint256)" + } + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1528:41:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(string memory,uint256,uint256,uint256,uint256)" + } + }, + "src": "1494:75:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 582, + "nodeType": "ExpressionStatement", + "src": "1494:75:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 583, + "name": "typs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "1596:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1604:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1596:9:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 616, + "name": "typs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "1798:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "32", + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1806:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1798:9:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 654, + "nodeType": "IfStatement", + "src": "1794:214:1", + "trueBody": { + "id": 653, + "nodeType": "Block", + "src": "1809:199:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 622, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 517, + "src": "1851:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 624, + "indexExpression": { + "id": 623, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1860:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1851:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 625, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1865:10:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 627, + "indexExpression": { + "id": 626, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1876:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1865:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1851:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 629, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1881:10:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 631, + "indexExpression": { + "id": 630, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1892:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1881:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 632, + "name": "qt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 561, + "src": "1895:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1851:46:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 635, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1899:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 619, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "1836:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1839:11:1", + "memberName": "setQuantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 1087, + "src": "1836:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) external" + } + }, + "id": 636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1836:65:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 637, + "nodeType": "ExpressionStatement", + "src": "1836:65:1" + }, + { + "expression": { + "id": 651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 638, + "name": "totalAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 493, + "src": "1928:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 639, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1943:10:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 641, + "indexExpression": { + "id": 640, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1954:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1943:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 642, + "name": "prcper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "1960:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "313030", + "id": 643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1969:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1960:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "baseExpression": { + "id": 645, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "1975:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 647, + "indexExpression": { + "id": 646, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1981:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1975:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1960:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 649, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1959:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1943:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1928:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 652, + "nodeType": "ExpressionStatement", + "src": "1928:56:1" + } + ] + } + }, + "id": 655, + "nodeType": "IfStatement", + "src": "1592:416:1", + "trueBody": { + "id": 615, + "nodeType": "Block", + "src": "1606:182:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 589, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 517, + "src": "1648:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 591, + "indexExpression": { + "id": 590, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1657:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1648:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 592, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1662:10:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 594, + "indexExpression": { + "id": 593, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1673:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1662:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1648:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 596, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1678:10:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 598, + "indexExpression": { + "id": 597, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1689:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1678:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 599, + "name": "qt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 561, + "src": "1692:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1678:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1648:46:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 602, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1696:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 586, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "1633:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1636:11:1", + "memberName": "setQuantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 1087, + "src": "1633:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) external" + } + }, + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1633:65:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 604, + "nodeType": "ExpressionStatement", + "src": "1633:65:1" + }, + { + "expression": { + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 605, + "name": "totalAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 493, + "src": "1725:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 606, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1740:10:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 608, + "indexExpression": { + "id": 607, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "1751:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1740:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "baseExpression": { + "id": 609, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "1756:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 611, + "indexExpression": { + "id": 610, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1762:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1756:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1740:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1725:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 614, + "nodeType": "ExpressionStatement", + "src": "1725:39:1" + } + ] + } + }, + { + "expression": { + "id": 657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2030:3:1", + "subExpression": { + "id": 656, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "2030:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 658, + "nodeType": "ExpressionStatement", + "src": "2030:3:1" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 530, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1240:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 531, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "1244:5:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1250:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1244:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1240:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 662, + "initializationExpression": { + "assignments": [ + 527 + ], + "declarations": [ + { + "constant": false, + "id": 527, + "mutability": "mutable", + "name": "i", + "nameLocation": "1232:1:1", + "nodeType": "VariableDeclaration", + "scope": 662, + "src": "1227:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1227:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 529, + "initialValue": { + "hexValue": "30", + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1236:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1227:10:1" + }, + "loopExpression": { + "expression": { + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1259:3:1", + "subExpression": { + "id": 534, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 527, + "src": "1259:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 536, + "nodeType": "ExpressionStatement", + "src": "1259:3:1" + }, + "nodeType": "ForStatement", + "src": "1222:838:1" + }, + { + "expression": { + "id": 663, + "name": "totalAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 493, + "src": "2077:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 491, + "id": 664, + "nodeType": "Return", + "src": "2070:18:1" + } + ] + }, + "functionSelector": "d630a1e6", + "id": 666, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "CalculateOrderAmount", + "nameLocation": "903:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "itemnames", + "nameLocation": "941:9:1", + "nodeType": "VariableDeclaration", + "scope": 666, + "src": "924:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 482, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "924:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 483, + "nodeType": "ArrayTypeName", + "src": "924:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 487, + "mutability": "mutable", + "name": "quantities", + "nameLocation": "968:10:1", + "nodeType": "VariableDeclaration", + "scope": 666, + "src": "953:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "953:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 486, + "nodeType": "ArrayTypeName", + "src": "953:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "923:56:1" + }, + "returnParameters": { + "id": 491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 666, + "src": "997:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 489, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "997:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "996:6:1" + }, + "scope": 667, + "src": "894:1202:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 668, + "src": "138:1961:1", + "usedErrors": [] + } + ], + "src": "31:2068:1" + }, + "compiler": { + "name": "solc", + "version": "0.8.19+commit.7dd6d404.Emscripten.clang" + }, + "networks": { + "1337": { + "events": {}, + "links": {}, + "address": "0x72FC55CF22ae2113D641C834039d048fA64D3dB5", + "transactionHash": "0x169169f5196d9b4c0936f4c9327b6066d8edddbfeb6ce01226977f6981f8fe24" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-06T10:48:28.059Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/Project2/build/contracts/discountsAndPromotions.json b/Project2/build/contracts/discountsAndPromotions.json new file mode 100644 index 0000000..24a4cb1 --- /dev/null +++ b/Project2/build/contracts/discountsAndPromotions.json @@ -0,0 +1,17104 @@ +{ + "contractName": "discountsAndPromotions", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "PromotionsandDiscounts", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "types", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pricepercentagededuction", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "mn", + "outputs": [ + { + "internalType": "contract menuManagement", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addrmenu", + "type": "address" + } + ], + "name": "setMenu", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string[]", + "name": "items", + "type": "string[]" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_duration", + "type": "uint256" + } + ], + "name": "AddBuyAndGetFreePromotion", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string[]", + "name": "items", + "type": "string[]" + }, + { + "internalType": "uint256", + "name": "percentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_duration", + "type": "uint256" + } + ], + "name": "AddSimpleDiscount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"items\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"}],\"name\":\"AddBuyAndGetFreePromotion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"items\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"}],\"name\":\"AddSimpleDiscount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"PromotionsandDiscounts\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"types\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pricepercentagededuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mn\",\"outputs\":[{\"internalType\":\"contract menuManagement\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addrmenu\",\"type\":\"address\"}],\"name\":\"setMenu\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/discountsAndPromotions.sol\":\"discountsAndPromotions\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/discountsAndPromotions.sol\":{\"keccak256\":\"0x5c518db47ab02a3f7db4aeb7cfb1905b51d2e075fe9cff6be0722aa86cac7f3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff9fe820eb8c48556dadad98c03b80f7f73f4354d036712f6594a311a59787e\",\"dweb:/ipfs/QmTNt9xYDdTuKjomtfk1wejwqLAPaWANPTynvyrQriXCUo\"]},\"project:/contracts/menuManagement.sol\":{\"keccak256\":\"0x0451e892d242cfdcfd3508616f3b29d5424f466c616e891cbb55c96ff8208ad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d46c9e6615729fcd75d70096ca3d7b35b310155d5e805c6ccbeee81a306da2ad\",\"dweb:/ipfs/QmNuzp1RVk7f1Sg95Naq5PivZXc1LypffHnvnREbPKbKZu\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50611a83806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80637d0a5bed1461005c5780639a3a8d1014610078578063d271960c146100ac578063fa30dbd9146100c8578063ffc841bd146100e4575b600080fd5b61007660048036038101906100719190610c69565b610102565b005b610092600480360381019061008d9190610ddc565b610145565b6040516100a3959493929190610ebd565b60405180910390f35b6100c660048036038101906100c19190611029565b610219565b005b6100e260048036038101906100dd9190611029565b61065d565b005b6100ec610aac565b6040516100f991906110f7565b60405180910390f35b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60048180516020810182018051848252602083016020850120818352809550505050505060009150905080600001805461017e90611141565b80601f01602080910402602001604051908101604052809291908181526020018280546101aa90611141565b80156101f75780601f106101cc576101008083540402835291602001916101f7565b820191906000526020600020905b8154815290600101906020018083116101da57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b605a82111561025d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610254906111be565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102c8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102f19190611303565b60019080519060200190610306929190610ad0565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa158015610372573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039b9190611424565b600290805190602001906103b0929190610b29565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104459190611424565b6003908051906020019061045a929190610b29565b506000805b6001805490508110156106565784828151811061047f5761047e61146d565b5b602002602001015160405160200161049791906114d8565b60405160208183030381529060405280519060200120600182815481106104c1576104c061146d565b5b906000526020600020016040516020016104db9190611587565b6040516020818303038152906040528051906020012003610643576001818154811061050a5761050961146d565b5b9060005260206000200160046001838154811061052a5761052961146d565b5b906000526020600020016040516105419190611587565b9081526020016040518091039020600001908161055e9190611756565b5060026004600183815481106105775761057661146d565b5b9060005260206000200160405161058e9190611587565b908152602001604051809103902060010181905550836004600183815481106105ba576105b961146d565b5b906000526020600020016040516105d19190611587565b90815260200160405180910390206003018190555082426105f2919061186d565b6004600183815481106106085761060761146d565b5b9060005260206000200160405161061f9190611587565b908152602001604051809103902060040181905550818061063f906118a1565b9250505b808061064e906118a1565b91505061045f565b5050505050565b60008211801561066d5750600081115b6106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a39061195b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107409190611303565b60019080519060200190610755929190610ad0565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107c1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107ea9190611424565b600290805190602001906107ff929190610b29565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108949190611424565b600390805190602001906108a9929190610b29565b506000805b600180549050811015610aa5578482815181106108ce576108cd61146d565b5b60200260200101516040516020016108e691906114d8565b60405160208183030381529060405280519060200120600182815481106109105761090f61146d565b5b9060005260206000200160405160200161092a9190611587565b6040516020818303038152906040528051906020012003610a92578360046001838154811061095c5761095b61146d565b5b906000526020600020016040516109739190611587565b9081526020016040518091039020600201819055506001818154811061099c5761099b61146d565b5b906000526020600020016004600183815481106109bc576109bb61146d565b5b906000526020600020016040516109d39190611587565b908152602001604051809103902060000190816109f09190611756565b506001600460018381548110610a0957610a0861146d565b5b90600052602060002001604051610a209190611587565b9081526020016040518091039020600101819055508242610a41919061186d565b600460018381548110610a5757610a5661146d565b5b90600052602060002001604051610a6e9190611587565b9081526020016040518091039020600401819055508180610a8e906118a1565b9250505b8080610a9d906118a1565b9150506108ae565b5050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054828255906000526020600020908101928215610b18579160200282015b82811115610b17578251829081610b07919061197b565b5091602001919060010190610af0565b5b509050610b259190610b76565b5090565b828054828255906000526020600020908101928215610b65579160200282015b82811115610b64578251825591602001919060010190610b49565b5b509050610b729190610b9a565b5090565b5b80821115610b965760008181610b8d9190610bb7565b50600101610b77565b5090565b5b80821115610bb3576000816000905550600101610b9b565b5090565b508054610bc390611141565b6000825580601f10610bd55750610bf4565b601f016020900490600052602060002090810190610bf39190610b9a565b5b50565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c3682610c0b565b9050919050565b610c4681610c2b565b8114610c5157600080fd5b50565b600081359050610c6381610c3d565b92915050565b600060208284031215610c7f57610c7e610c01565b5b6000610c8d84828501610c54565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610ce982610ca0565b810181811067ffffffffffffffff82111715610d0857610d07610cb1565b5b80604052505050565b6000610d1b610bf7565b9050610d278282610ce0565b919050565b600067ffffffffffffffff821115610d4757610d46610cb1565b5b610d5082610ca0565b9050602081019050919050565b82818337600083830152505050565b6000610d7f610d7a84610d2c565b610d11565b905082815260208101848484011115610d9b57610d9a610c9b565b5b610da6848285610d5d565b509392505050565b600082601f830112610dc357610dc2610c96565b5b8135610dd3848260208601610d6c565b91505092915050565b600060208284031215610df257610df1610c01565b5b600082013567ffffffffffffffff811115610e1057610e0f610c06565b5b610e1c84828501610dae565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e5f578082015181840152602081019050610e44565b60008484015250505050565b6000610e7682610e25565b610e808185610e30565b9350610e90818560208601610e41565b610e9981610ca0565b840191505092915050565b6000819050919050565b610eb781610ea4565b82525050565b600060a0820190508181036000830152610ed78188610e6b565b9050610ee66020830187610eae565b610ef36040830186610eae565b610f006060830185610eae565b610f0d6080830184610eae565b9695505050505050565b600067ffffffffffffffff821115610f3257610f31610cb1565b5b602082029050602081019050919050565b600080fd5b6000610f5b610f5684610f17565b610d11565b90508083825260208201905060208402830185811115610f7e57610f7d610f43565b5b835b81811015610fc557803567ffffffffffffffff811115610fa357610fa2610c96565b5b808601610fb08982610dae565b85526020850194505050602081019050610f80565b5050509392505050565b600082601f830112610fe457610fe3610c96565b5b8135610ff4848260208601610f48565b91505092915050565b61100681610ea4565b811461101157600080fd5b50565b60008135905061102381610ffd565b92915050565b60008060006060848603121561104257611041610c01565b5b600084013567ffffffffffffffff8111156110605761105f610c06565b5b61106c86828701610fcf565b935050602061107d86828701611014565b925050604061108e86828701611014565b9150509250925092565b6000819050919050565b60006110bd6110b86110b384610c0b565b611098565b610c0b565b9050919050565b60006110cf826110a2565b9050919050565b60006110e1826110c4565b9050919050565b6110f1816110d6565b82525050565b600060208201905061110c60008301846110e8565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061115957607f821691505b60208210810361116c5761116b611112565b5b50919050565b7f50657263656e746167652063616e6e6f74206578636565656420393000000000600082015250565b60006111a8601c83610e30565b91506111b382611172565b602082019050919050565b600060208201905081810360008301526111d78161119b565b9050919050565b60006111f16111ec84610d2c565b610d11565b90508281526020810184848401111561120d5761120c610c9b565b5b611218848285610e41565b509392505050565b600082601f83011261123557611234610c96565b5b81516112458482602086016111de565b91505092915050565b600061126161125c84610f17565b610d11565b9050808382526020820190506020840283018581111561128457611283610f43565b5b835b818110156112cb57805167ffffffffffffffff8111156112a9576112a8610c96565b5b8086016112b68982611220565b85526020850194505050602081019050611286565b5050509392505050565b600082601f8301126112ea576112e9610c96565b5b81516112fa84826020860161124e565b91505092915050565b60006020828403121561131957611318610c01565b5b600082015167ffffffffffffffff81111561133757611336610c06565b5b611343848285016112d5565b91505092915050565b600067ffffffffffffffff82111561136757611366610cb1565b5b602082029050602081019050919050565b60008151905061138781610ffd565b92915050565b60006113a061139b8461134c565b610d11565b905080838252602082019050602084028301858111156113c3576113c2610f43565b5b835b818110156113ec57806113d88882611378565b8452602084019350506020810190506113c5565b5050509392505050565b600082601f83011261140b5761140a610c96565b5b815161141b84826020860161138d565b91505092915050565b60006020828403121561143a57611439610c01565b5b600082015167ffffffffffffffff81111561145857611457610c06565b5b611464848285016113f6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006114b282610e25565b6114bc818561149c565b93506114cc818560208601610e41565b80840191505092915050565b60006114e482846114a7565b915081905092915050565b60008190508160005260206000209050919050565b6000815461151181611141565b61151b818661149c565b94506001821660008114611536576001811461154b5761157e565b60ff198316865281151582028601935061157e565b611554856114ef565b60005b8381101561157657815481890152600182019150602081019050611557565b838801955050505b50505092915050565b60006115938284611504565b915081905092915050565b6000815490506115ad81611141565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026116167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826115d9565b61162086836115d9565b95508019841693508086168417925050509392505050565b600061165361164e61164984610ea4565b611098565b610ea4565b9050919050565b6000819050919050565b61166d83611638565b6116816116798261165a565b8484546115e6565b825550505050565b600090565b611696611689565b6116a1818484611664565b505050565b5b818110156116c5576116ba60008261168e565b6001810190506116a7565b5050565b601f82111561170a576116db816114ef565b6116e4846115c9565b810160208510156116f3578190505b6117076116ff856115c9565b8301826116a6565b50505b505050565b600082821c905092915050565b600061172d6000198460080261170f565b1980831691505092915050565b6000611746838361171c565b9150826002028217905092915050565b81810361176457505061183c565b61176d8261159e565b67ffffffffffffffff81111561178657611785610cb1565b5b6117908254611141565b61179b8282856116c9565b6000601f8311600181146117ca57600084156117b8578287015490505b6117c2858261173a565b865550611835565b601f1984166117d8876115b4565b96506117e3866114ef565b60005b8281101561180b578489015482556001820191506001850194506020810190506117e6565b868310156118285784890154611824601f89168261171c565b8355505b6001600288020188555050505b5050505050505b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061187882610ea4565b915061188383610ea4565b925082820190508082111561189b5761189a61183e565b5b92915050565b60006118ac82610ea4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118de576118dd61183e565b5b600182019050919050565b7f5175616e74697479206f72206475726174696f6e2063616e6e6f74206265207a60008201527f65726f2e00000000000000000000000000000000000000000000000000000000602082015250565b6000611945602483610e30565b9150611950826118e9565b604082019050919050565b6000602082019050818103600083015261197481611938565b9050919050565b61198482610e25565b67ffffffffffffffff81111561199d5761199c610cb1565b5b6119a78254611141565b6119b28282856116c9565b600060209050601f8311600181146119e557600084156119d3578287015190505b6119dd858261173a565b865550611a45565b601f1984166119f3866114ef565b60005b82811015611a1b578489015182556001820191506020850194506020810190506119f6565b86831015611a385784890151611a34601f89168261171c565b8355505b6001600288020188555050505b50505050505056fea264697066735822122036994e27e30bdc821861bb9c7fc9b20ef2a004cf22a8ddf577c4cb9de9eaaada64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80637d0a5bed1461005c5780639a3a8d1014610078578063d271960c146100ac578063fa30dbd9146100c8578063ffc841bd146100e4575b600080fd5b61007660048036038101906100719190610c69565b610102565b005b610092600480360381019061008d9190610ddc565b610145565b6040516100a3959493929190610ebd565b60405180910390f35b6100c660048036038101906100c19190611029565b610219565b005b6100e260048036038101906100dd9190611029565b61065d565b005b6100ec610aac565b6040516100f991906110f7565b60405180910390f35b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60048180516020810182018051848252602083016020850120818352809550505050505060009150905080600001805461017e90611141565b80601f01602080910402602001604051908101604052809291908181526020018280546101aa90611141565b80156101f75780601f106101cc576101008083540402835291602001916101f7565b820191906000526020600020905b8154815290600101906020018083116101da57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b605a82111561025d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610254906111be565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102c8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102f19190611303565b60019080519060200190610306929190610ad0565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa158015610372573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039b9190611424565b600290805190602001906103b0929190610b29565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104459190611424565b6003908051906020019061045a929190610b29565b506000805b6001805490508110156106565784828151811061047f5761047e61146d565b5b602002602001015160405160200161049791906114d8565b60405160208183030381529060405280519060200120600182815481106104c1576104c061146d565b5b906000526020600020016040516020016104db9190611587565b6040516020818303038152906040528051906020012003610643576001818154811061050a5761050961146d565b5b9060005260206000200160046001838154811061052a5761052961146d565b5b906000526020600020016040516105419190611587565b9081526020016040518091039020600001908161055e9190611756565b5060026004600183815481106105775761057661146d565b5b9060005260206000200160405161058e9190611587565b908152602001604051809103902060010181905550836004600183815481106105ba576105b961146d565b5b906000526020600020016040516105d19190611587565b90815260200160405180910390206003018190555082426105f2919061186d565b6004600183815481106106085761060761146d565b5b9060005260206000200160405161061f9190611587565b908152602001604051809103902060040181905550818061063f906118a1565b9250505b808061064e906118a1565b91505061045f565b5050505050565b60008211801561066d5750600081115b6106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a39061195b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313bc85106040518163ffffffff1660e01b8152600401600060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107409190611303565b60019080519060200190610755929190610ad0565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb5e33b76040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107c1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107ea9190611424565b600290805190602001906107ff929190610b29565b5060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b37809716040518163ffffffff1660e01b8152600401600060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108949190611424565b600390805190602001906108a9929190610b29565b506000805b600180549050811015610aa5578482815181106108ce576108cd61146d565b5b60200260200101516040516020016108e691906114d8565b60405160208183030381529060405280519060200120600182815481106109105761090f61146d565b5b9060005260206000200160405160200161092a9190611587565b6040516020818303038152906040528051906020012003610a92578360046001838154811061095c5761095b61146d565b5b906000526020600020016040516109739190611587565b9081526020016040518091039020600201819055506001818154811061099c5761099b61146d565b5b906000526020600020016004600183815481106109bc576109bb61146d565b5b906000526020600020016040516109d39190611587565b908152602001604051809103902060000190816109f09190611756565b506001600460018381548110610a0957610a0861146d565b5b90600052602060002001604051610a209190611587565b9081526020016040518091039020600101819055508242610a41919061186d565b600460018381548110610a5757610a5661146d565b5b90600052602060002001604051610a6e9190611587565b9081526020016040518091039020600401819055508180610a8e906118a1565b9250505b8080610a9d906118a1565b9150506108ae565b5050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054828255906000526020600020908101928215610b18579160200282015b82811115610b17578251829081610b07919061197b565b5091602001919060010190610af0565b5b509050610b259190610b76565b5090565b828054828255906000526020600020908101928215610b65579160200282015b82811115610b64578251825591602001919060010190610b49565b5b509050610b729190610b9a565b5090565b5b80821115610b965760008181610b8d9190610bb7565b50600101610b77565b5090565b5b80821115610bb3576000816000905550600101610b9b565b5090565b508054610bc390611141565b6000825580601f10610bd55750610bf4565b601f016020900490600052602060002090810190610bf39190610b9a565b5b50565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c3682610c0b565b9050919050565b610c4681610c2b565b8114610c5157600080fd5b50565b600081359050610c6381610c3d565b92915050565b600060208284031215610c7f57610c7e610c01565b5b6000610c8d84828501610c54565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610ce982610ca0565b810181811067ffffffffffffffff82111715610d0857610d07610cb1565b5b80604052505050565b6000610d1b610bf7565b9050610d278282610ce0565b919050565b600067ffffffffffffffff821115610d4757610d46610cb1565b5b610d5082610ca0565b9050602081019050919050565b82818337600083830152505050565b6000610d7f610d7a84610d2c565b610d11565b905082815260208101848484011115610d9b57610d9a610c9b565b5b610da6848285610d5d565b509392505050565b600082601f830112610dc357610dc2610c96565b5b8135610dd3848260208601610d6c565b91505092915050565b600060208284031215610df257610df1610c01565b5b600082013567ffffffffffffffff811115610e1057610e0f610c06565b5b610e1c84828501610dae565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e5f578082015181840152602081019050610e44565b60008484015250505050565b6000610e7682610e25565b610e808185610e30565b9350610e90818560208601610e41565b610e9981610ca0565b840191505092915050565b6000819050919050565b610eb781610ea4565b82525050565b600060a0820190508181036000830152610ed78188610e6b565b9050610ee66020830187610eae565b610ef36040830186610eae565b610f006060830185610eae565b610f0d6080830184610eae565b9695505050505050565b600067ffffffffffffffff821115610f3257610f31610cb1565b5b602082029050602081019050919050565b600080fd5b6000610f5b610f5684610f17565b610d11565b90508083825260208201905060208402830185811115610f7e57610f7d610f43565b5b835b81811015610fc557803567ffffffffffffffff811115610fa357610fa2610c96565b5b808601610fb08982610dae565b85526020850194505050602081019050610f80565b5050509392505050565b600082601f830112610fe457610fe3610c96565b5b8135610ff4848260208601610f48565b91505092915050565b61100681610ea4565b811461101157600080fd5b50565b60008135905061102381610ffd565b92915050565b60008060006060848603121561104257611041610c01565b5b600084013567ffffffffffffffff8111156110605761105f610c06565b5b61106c86828701610fcf565b935050602061107d86828701611014565b925050604061108e86828701611014565b9150509250925092565b6000819050919050565b60006110bd6110b86110b384610c0b565b611098565b610c0b565b9050919050565b60006110cf826110a2565b9050919050565b60006110e1826110c4565b9050919050565b6110f1816110d6565b82525050565b600060208201905061110c60008301846110e8565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061115957607f821691505b60208210810361116c5761116b611112565b5b50919050565b7f50657263656e746167652063616e6e6f74206578636565656420393000000000600082015250565b60006111a8601c83610e30565b91506111b382611172565b602082019050919050565b600060208201905081810360008301526111d78161119b565b9050919050565b60006111f16111ec84610d2c565b610d11565b90508281526020810184848401111561120d5761120c610c9b565b5b611218848285610e41565b509392505050565b600082601f83011261123557611234610c96565b5b81516112458482602086016111de565b91505092915050565b600061126161125c84610f17565b610d11565b9050808382526020820190506020840283018581111561128457611283610f43565b5b835b818110156112cb57805167ffffffffffffffff8111156112a9576112a8610c96565b5b8086016112b68982611220565b85526020850194505050602081019050611286565b5050509392505050565b600082601f8301126112ea576112e9610c96565b5b81516112fa84826020860161124e565b91505092915050565b60006020828403121561131957611318610c01565b5b600082015167ffffffffffffffff81111561133757611336610c06565b5b611343848285016112d5565b91505092915050565b600067ffffffffffffffff82111561136757611366610cb1565b5b602082029050602081019050919050565b60008151905061138781610ffd565b92915050565b60006113a061139b8461134c565b610d11565b905080838252602082019050602084028301858111156113c3576113c2610f43565b5b835b818110156113ec57806113d88882611378565b8452602084019350506020810190506113c5565b5050509392505050565b600082601f83011261140b5761140a610c96565b5b815161141b84826020860161138d565b91505092915050565b60006020828403121561143a57611439610c01565b5b600082015167ffffffffffffffff81111561145857611457610c06565b5b611464848285016113f6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006114b282610e25565b6114bc818561149c565b93506114cc818560208601610e41565b80840191505092915050565b60006114e482846114a7565b915081905092915050565b60008190508160005260206000209050919050565b6000815461151181611141565b61151b818661149c565b94506001821660008114611536576001811461154b5761157e565b60ff198316865281151582028601935061157e565b611554856114ef565b60005b8381101561157657815481890152600182019150602081019050611557565b838801955050505b50505092915050565b60006115938284611504565b915081905092915050565b6000815490506115ad81611141565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026116167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826115d9565b61162086836115d9565b95508019841693508086168417925050509392505050565b600061165361164e61164984610ea4565b611098565b610ea4565b9050919050565b6000819050919050565b61166d83611638565b6116816116798261165a565b8484546115e6565b825550505050565b600090565b611696611689565b6116a1818484611664565b505050565b5b818110156116c5576116ba60008261168e565b6001810190506116a7565b5050565b601f82111561170a576116db816114ef565b6116e4846115c9565b810160208510156116f3578190505b6117076116ff856115c9565b8301826116a6565b50505b505050565b600082821c905092915050565b600061172d6000198460080261170f565b1980831691505092915050565b6000611746838361171c565b9150826002028217905092915050565b81810361176457505061183c565b61176d8261159e565b67ffffffffffffffff81111561178657611785610cb1565b5b6117908254611141565b61179b8282856116c9565b6000601f8311600181146117ca57600084156117b8578287015490505b6117c2858261173a565b865550611835565b601f1984166117d8876115b4565b96506117e3866114ef565b60005b8281101561180b578489015482556001820191506001850194506020810190506117e6565b868310156118285784890154611824601f89168261171c565b8355505b6001600288020188555050505b5050505050505b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061187882610ea4565b915061188383610ea4565b925082820190508082111561189b5761189a61183e565b5b92915050565b60006118ac82610ea4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118de576118dd61183e565b5b600182019050919050565b7f5175616e74697479206f72206475726174696f6e2063616e6e6f74206265207a60008201527f65726f2e00000000000000000000000000000000000000000000000000000000602082015250565b6000611945602483610e30565b9150611950826118e9565b604082019050919050565b6000602082019050818103600083015261197481611938565b9050919050565b61198482610e25565b67ffffffffffffffff81111561199d5761199c610cb1565b5b6119a78254611141565b6119b28282856116c9565b600060209050601f8311600181146119e557600084156119d3578287015190505b6119dd858261173a565b865550611a45565b601f1984166119f3866114ef565b60005b82811015611a1b578489015182556001820191506020850194506020810190506119f6565b86831015611a385784890151611a34601f89168261171c565b8355505b6001600288020188555050505b50505050505056fea264697066735822122036994e27e30bdc821861bb9c7fc9b20ef2a004cf22a8ddf577c4cb9de9eaaada64736f6c63430008130033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:26089:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:5" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:5", + "type": "" + } + ], + "src": "7:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:5" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:5" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:81:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:65:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "404:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "411:42:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "400:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "400:54:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:5", + "type": "" + } + ], + "src": "334:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "511:51:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "521:35:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "550:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "532:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "532:24:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "521:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "493:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "503:7:5", + "type": "" + } + ], + "src": "466:96:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "611:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "668:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "677:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "670:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "670:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "670:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "634:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "659:5:5" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "641:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "641:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "631:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "631:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "624:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "624:43:5" + }, + "nodeType": "YulIf", + "src": "621:63:5" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "604:5:5", + "type": "" + } + ], + "src": "568:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "748:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "758:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "780:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "767:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "767:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "758:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "823:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "796:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "796:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "796:33:5" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "726:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "734:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "742:5:5", + "type": "" + } + ], + "src": "696:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "907:263:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "953:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "955:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "955:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "955:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "928:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "937:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "924:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "924:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "949:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "920:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "920:32:5" + }, + "nodeType": "YulIf", + "src": "917:119:5" + }, + { + "nodeType": "YulBlock", + "src": "1046:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1061:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1075:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1065:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1090:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1125:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1136:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1121:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1121:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1145:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1100:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "1100:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1090:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "877:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "888:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "900:6:5", + "type": "" + } + ], + "src": "841:329:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1265:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1282:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1285:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1275:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1275:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1275:12:5" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "1176:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1388:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1405:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1408:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1398:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1398:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1398:12:5" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "1299:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1470:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1480:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1498:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1505:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1494:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1494:14:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1514:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1510:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1510:7:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1490:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1490:28:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1480:6:5" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1453:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "1463:6:5", + "type": "" + } + ], + "src": "1422:102:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1558:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1575:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1578:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1568:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1568:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1568:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1672:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1675:4:5", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1665:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1665:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1665:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1696:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1699:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1689:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1689:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1689:15:5" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "1530:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1759:238:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1769:58:5", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1791:6:5" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1821:4:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1799:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "1799:27:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1787:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1787:40:5" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1773:10:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1938:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1940:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "1940:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1881:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1893:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1878:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "1878:34:5" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1917:10:5" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1929:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1914:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "1914:22:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1875:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "1875:62:5" + }, + "nodeType": "YulIf", + "src": "1872:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1976:2:5", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1980:10:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1969:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1969:22:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1969:22:5" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1745:6:5", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1753:4:5", + "type": "" + } + ], + "src": "1716:281:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2044:88:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2054:30:5", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "2064:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "2064:20:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2054:6:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2113:6:5" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2121:4:5" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "2093:19:5" + }, + "nodeType": "YulFunctionCall", + "src": "2093:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2093:33:5" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2028:4:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2037:6:5", + "type": "" + } + ], + "src": "2003:129:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2205:241:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2310:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2312:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "2312:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2312:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2282:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2290:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2279:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "2279:30:5" + }, + "nodeType": "YulIf", + "src": "2276:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "2342:37:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2372:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2350:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "2350:29:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2342:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2416:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2428:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2434:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2424:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2424:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2416:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2189:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2200:4:5", + "type": "" + } + ], + "src": "2138:308:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2516:82:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2539:3:5" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2544:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2549:6:5" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2526:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "2526:30:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2526:30:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2576:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2581:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2572:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2572:16:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2590:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2565:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2565:27:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2565:27:5" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2498:3:5", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2503:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2508:6:5", + "type": "" + } + ], + "src": "2452:146:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2688:341:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2698:75:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2765:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2723:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "2723:49:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2707:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "2707:66:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2698:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2789:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2796:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2782:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2782:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2782:21:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2812:27:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2827:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2834:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2823:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2823:16:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2816:3:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2877:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2879:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "2879:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2879:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2858:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2863:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2854:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2854:16:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2872:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2851:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "2851:25:5" + }, + "nodeType": "YulIf", + "src": "2848:112:5" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3006:3:5" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3011:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3016:6:5" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2969:36:5" + }, + "nodeType": "YulFunctionCall", + "src": "2969:54:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2969:54:5" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2661:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2666:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2674:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2682:5:5", + "type": "" + } + ], + "src": "2604:425:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3111:278:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3160:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "3162:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "3162:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3162:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3139:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3147:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3135:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3135:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3154:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3131:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3131:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3124:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3124:35:5" + }, + "nodeType": "YulIf", + "src": "3121:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3252:34:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3279:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3266:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "3266:20:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3256:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3295:88:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3356:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3364:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3352:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3352:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3371:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3379:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3304:47:5" + }, + "nodeType": "YulFunctionCall", + "src": "3304:79:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3295:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3089:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3097:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "3105:5:5", + "type": "" + } + ], + "src": "3049:340:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3471:433:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3517:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3519:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "3519:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3519:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3492:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3501:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3488:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3488:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3513:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3484:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3484:32:5" + }, + "nodeType": "YulIf", + "src": "3481:119:5" + }, + { + "nodeType": "YulBlock", + "src": "3610:287:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3625:45:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3656:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3667:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3652:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3652:17:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3639:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "3639:31:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3629:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3717:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3719:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "3719:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3719:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3689:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3697:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3686:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "3686:30:5" + }, + "nodeType": "YulIf", + "src": "3683:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "3814:73:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3859:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3870:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3855:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3855:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3879:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3824:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "3824:63:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3814:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3441:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3452:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3464:6:5", + "type": "" + } + ], + "src": "3395:509:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3969:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3980:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3996:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3990:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "3990:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3980:6:5" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3952:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3962:6:5", + "type": "" + } + ], + "src": "3910:99:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4111:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4128:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4133:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4121:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4121:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4121:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "4149:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4168:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4173:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4164:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4164:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "4149:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4083:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4088:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "4099:11:5", + "type": "" + } + ], + "src": "4015:169:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4252:184:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4262:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4271:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4266:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4331:63:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "4356:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4361:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4352:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4352:11:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4375:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4380:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4371:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4371:11:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4365:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "4365:18:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4345:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4345:39:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4345:39:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4292:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4295:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4289:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "4289:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4303:19:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4305:15:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4314:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4317:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4310:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4310:10:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4305:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4285:3:5", + "statements": [] + }, + "src": "4281:113:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "4414:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4419:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4410:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4410:16:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4428:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4403:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4403:27:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4403:27:5" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "4234:3:5", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "4239:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4244:6:5", + "type": "" + } + ], + "src": "4190:246:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4534:285:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4544:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4591:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4558:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "4558:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4548:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4606:78:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4672:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4677:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4613:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "4613:71:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4606:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4732:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4739:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4728:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4728:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4746:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4751:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "4693:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "4693:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4693:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "4767:46:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4778:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4805:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "4783:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "4783:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4774:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4774:39:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4767:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4515:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4522:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4530:3:5", + "type": "" + } + ], + "src": "4442:377:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4870:32:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4880:16:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4891:5:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4880:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4852:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4862:7:5", + "type": "" + } + ], + "src": "4825:77:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4973:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4990:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5013:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4995:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "4995:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4983:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4983:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4983:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4961:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4968:3:5", + "type": "" + } + ], + "src": "4908:118:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5262:525:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5272:27:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5284:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5295:3:5", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5280:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5280:19:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5272:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5320:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5331:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5316:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5316:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5339:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5345:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5335:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5335:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5309:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5309:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5309:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "5365:86:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5437:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5446:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5373:63:5" + }, + "nodeType": "YulFunctionCall", + "src": "5373:78:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5365:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5505:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5518:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5529:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5514:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5514:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5461:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "5461:72:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5461:72:5" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5587:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5600:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5611:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5596:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5596:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5543:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "5543:72:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5543:72:5" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "5669:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5682:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5693:2:5", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5678:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5678:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5625:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "5625:72:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5625:72:5" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "5751:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5764:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5775:3:5", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5760:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5760:19:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5707:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "5707:73:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5707:73:5" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5202:9:5", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "5214:6:5", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "5222:6:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5230:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5238:6:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5246:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5257:4:5", + "type": "" + } + ], + "src": "5032:755:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5885:229:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5990:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "5992:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "5992:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5992:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5962:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5970:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5959:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5959:30:5" + }, + "nodeType": "YulIf", + "src": "5956:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "6022:25:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6034:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6042:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "6030:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6030:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6022:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6084:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6096:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6102:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6092:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6092:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6084:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5869:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "5880:4:5", + "type": "" + } + ], + "src": "5793:321:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6209:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6226:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6229:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6219:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6219:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6219:12:5" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "6120:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6371:833:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6381:100:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6473:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6406:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "6406:74:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "6390:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "6390:91:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6381:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6490:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6501:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "6494:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6523:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6530:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6516:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6516:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6516:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "6546:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6557:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6564:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6553:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6553:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6546:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6579:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6597:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6609:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6617:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "6605:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6605:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6593:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6593:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "6583:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6651:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "6665:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "6665:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6665:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "6638:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6646:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6635:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6635:15:5" + }, + "nodeType": "YulIf", + "src": "6632:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6839:359:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6854:36:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6886:3:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6873:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "6873:17:5" + }, + "variables": [ + { + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "6858:11:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6942:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "6944:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "6944:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6944:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "6909:11:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6922:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6906:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6906:35:5" + }, + "nodeType": "YulIf", + "src": "6903:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7038:42:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7060:6:5" + }, + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "7068:11:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7056:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7056:24:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "7042:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7101:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "7137:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7149:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7106:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "7106:47:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7094:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7094:60:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7094:60:5" + }, + { + "nodeType": "YulAssignment", + "src": "7167:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7178:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7183:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7174:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7174:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7167:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6792:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "6797:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6789:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6789:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "6805:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6807:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6818:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6823:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6814:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6814:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6807:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "6767:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6769:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6780:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "6773:3:5", + "type": "" + } + ] + } + ] + }, + "src": "6763:435:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6341:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6349:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6357:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "6365:5:5", + "type": "" + } + ], + "src": "6259:945:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7313:303:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7362:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "7364:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7364:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7364:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7341:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7349:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7337:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7337:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7356:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7333:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7333:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7326:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7326:35:5" + }, + "nodeType": "YulIf", + "src": "7323:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7454:34:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7481:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7468:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "7468:20:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7458:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7497:113:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7583:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7591:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7579:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7579:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7598:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7606:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7506:72:5" + }, + "nodeType": "YulFunctionCall", + "src": "7506:104:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "7497:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7291:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7299:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "7307:5:5", + "type": "" + } + ], + "src": "7226:390:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7665:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7722:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7731:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7734:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7724:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7724:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7724:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7688:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7713:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7695:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "7695:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "7685:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "7685:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7678:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7678:43:5" + }, + "nodeType": "YulIf", + "src": "7675:63:5" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7658:5:5", + "type": "" + } + ], + "src": "7622:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7802:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7812:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7834:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7821:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "7821:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7812:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7877:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "7850:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "7850:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7850:33:5" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7780:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7788:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7796:5:5", + "type": "" + } + ], + "src": "7750:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8030:714:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8076:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "8078:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "8078:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8078:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8051:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8060:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8047:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8047:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8072:2:5", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8043:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8043:32:5" + }, + "nodeType": "YulIf", + "src": "8040:119:5" + }, + { + "nodeType": "YulBlock", + "src": "8169:312:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8184:45:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8215:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8226:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8211:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8211:17:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8198:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "8198:31:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8188:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8276:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "8278:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "8278:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8278:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8248:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8256:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8245:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "8245:30:5" + }, + "nodeType": "YulIf", + "src": "8242:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "8373:98:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8443:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8454:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8439:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8439:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8463:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8383:55:5" + }, + "nodeType": "YulFunctionCall", + "src": "8383:88:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8373:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8491:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8506:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8520:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8510:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8536:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8571:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8582:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8567:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8567:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8591:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8546:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "8546:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8536:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8619:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8634:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8648:2:5", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8638:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8664:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8699:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8710:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8695:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8695:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8719:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8674:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "8674:53:5" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "8664:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptrt_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7984:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7995:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8007:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8015:6:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8023:6:5", + "type": "" + } + ], + "src": "7895:849:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8782:28:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8792:12:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8799:5:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "8792:3:5" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8768:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "8778:3:5", + "type": "" + } + ], + "src": "8750:60:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8876:82:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8886:66:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8944:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "8926:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "8926:24:5" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "8917:8:5" + }, + "nodeType": "YulFunctionCall", + "src": "8917:34:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "8899:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "8899:53:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "8886:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8856:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "8866:9:5", + "type": "" + } + ], + "src": "8816:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9024:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9034:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9078:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "9047:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "9047:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "9034:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9004:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "9014:9:5", + "type": "" + } + ], + "src": "8964:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9179:66:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9189:50:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9233:5:5" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulIdentifier", + "src": "9202:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "9202:37:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "9189:9:5" + } + ] + } + ] + }, + "name": "convert_t_contract$_menuManagement_$1147_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9159:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "9169:9:5", + "type": "" + } + ], + "src": "9096:149:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9339:89:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9356:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9415:5:5" + } + ], + "functionName": { + "name": "convert_t_contract$_menuManagement_$1147_to_t_address", + "nodeType": "YulIdentifier", + "src": "9361:53:5" + }, + "nodeType": "YulFunctionCall", + "src": "9361:60:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9349:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9349:73:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9349:73:5" + } + ] + }, + "name": "abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9327:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9334:3:5", + "type": "" + } + ], + "src": "9251:177:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9555:147:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9565:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9577:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9588:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9573:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9573:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9565:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9668:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9681:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9692:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9677:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9677:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "9601:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "9601:94:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9601:94:5" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_menuManagement_$1147__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9527:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9539:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9550:4:5", + "type": "" + } + ], + "src": "9434:268:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9736:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9753:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9756:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9746:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9746:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9746:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9850:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9853:4:5", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9843:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9843:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9843:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9874:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9877:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9867:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9867:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9867:15:5" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "9708:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9945:269:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9955:22:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "9969:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9975:1:5", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "9965:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9965:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9955:6:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9986:38:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10016:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10022:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10012:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10012:12:5" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "9990:18:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10063:51:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10077:27:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10091:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10099:4:5", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10087:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10087:17:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10077:6:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "10043:18:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10036:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "10036:26:5" + }, + "nodeType": "YulIf", + "src": "10033:81:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10166:42:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "10180:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "10180:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10180:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "10130:18:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10153:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10161:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10150:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "10150:14:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "10127:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "10127:38:5" + }, + "nodeType": "YulIf", + "src": "10124:84:5" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "9929:4:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9938:6:5", + "type": "" + } + ], + "src": "9894:320:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10326:72:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10348:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10356:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10344:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10344:14:5" + }, + { + "hexValue": "50657263656e746167652063616e6e6f742065786365656564203930", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10360:30:5", + "type": "", + "value": "Percentage cannot exceeed 90" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10337:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "10337:54:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10337:54:5" + } + ] + }, + "name": "store_literal_in_memory_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10318:6:5", + "type": "" + } + ], + "src": "10220:178:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10550:220:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10560:74:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10626:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10631:2:5", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10567:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "10567:67:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10560:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10732:3:5" + } + ], + "functionName": { + "name": "store_literal_in_memory_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71", + "nodeType": "YulIdentifier", + "src": "10643:88:5" + }, + "nodeType": "YulFunctionCall", + "src": "10643:93:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10643:93:5" + }, + { + "nodeType": "YulAssignment", + "src": "10745:19:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10756:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10761:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10752:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10752:12:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10745:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10538:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10546:3:5", + "type": "" + } + ], + "src": "10404:366:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10947:248:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10957:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10969:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10980:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10965:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10965:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10957:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11004:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11015:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11000:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11000:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11023:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11029:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11019:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11019:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10993:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "10993:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10993:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "11049:139:5", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11183:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11057:124:5" + }, + "nodeType": "YulFunctionCall", + "src": "11057:131:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11049:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10927:9:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10942:4:5", + "type": "" + } + ], + "src": "10776:419:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11296:339:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11306:75:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11373:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11331:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "11331:49:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "11315:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "11315:66:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11306:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11397:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11404:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11390:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "11390:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11390:21:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11420:27:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11435:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11442:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11431:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11431:16:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "11424:3:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11485:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "11487:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "11487:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11487:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11466:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11471:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11462:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11462:16:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11480:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11459:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "11459:25:5" + }, + "nodeType": "YulIf", + "src": "11456:112:5" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11612:3:5" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11617:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11622:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "11577:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "11577:52:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11577:52:5" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11269:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11274:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11282:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "11290:5:5", + "type": "" + } + ], + "src": "11201:434:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11728:282:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11777:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "11779:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "11779:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11779:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11756:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11764:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11752:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11752:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11771:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11748:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11748:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11741:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "11741:35:5" + }, + "nodeType": "YulIf", + "src": "11738:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11869:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11889:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11883:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "11883:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11873:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11905:99:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11977:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11985:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11973:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11973:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11992:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12000:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "11914:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "11914:90:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11905:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11706:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11714:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "11722:5:5", + "type": "" + } + ], + "src": "11655:355:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12155:837:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12165:100:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12257:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12190:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "12190:74:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "12174:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "12174:91:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12165:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12274:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12285:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "12278:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12307:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12314:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12300:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "12300:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12300:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "12330:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12341:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12348:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12337:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12337:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12330:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12363:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12381:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12393:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12401:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "12389:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12389:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12377:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12377:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "12367:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12435:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "12449:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "12449:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12449:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "12422:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12430:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12419:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "12419:15:5" + }, + "nodeType": "YulIf", + "src": "12416:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12623:363:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12638:29:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "12663:3:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12657:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "12657:10:5" + }, + "variables": [ + { + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "12642:11:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12719:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "12721:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "12721:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12721:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "12686:11:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12699:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12683:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "12683:35:5" + }, + "nodeType": "YulIf", + "src": "12680:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12815:42:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12837:6:5" + }, + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "12845:11:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12833:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12833:24:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "12819:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12878:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "12925:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12937:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "12883:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "12883:58:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12871:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "12871:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12871:71:5" + }, + { + "nodeType": "YulAssignment", + "src": "12955:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12966:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12971:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12962:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12962:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12955:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "12576:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "12581:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12573:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "12573:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "12589:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12591:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "12602:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12607:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12598:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12598:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "12591:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "12551:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12553:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12564:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "12557:3:5", + "type": "" + } + ] + } + ] + }, + "src": "12547:439:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12125:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12133:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12141:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "12149:5:5", + "type": "" + } + ], + "src": "12032:960:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13112:307:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13161:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "13163:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "13163:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13163:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13140:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13148:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13136:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13136:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13155:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13132:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13132:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13125:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13125:35:5" + }, + "nodeType": "YulIf", + "src": "13122:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13253:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13273:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13267:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "13267:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13257:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13289:124:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13386:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13394:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13382:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13382:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13401:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13409:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "13298:83:5" + }, + "nodeType": "YulFunctionCall", + "src": "13298:115:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13289:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13090:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13098:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13106:5:5", + "type": "" + } + ], + "src": "13014:405:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13537:462:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13583:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "13585:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "13585:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13585:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13558:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13567:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13554:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13554:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13579:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13550:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13550:32:5" + }, + "nodeType": "YulIf", + "src": "13547:119:5" + }, + { + "nodeType": "YulBlock", + "src": "13676:316:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13691:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13715:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13726:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13711:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13711:17:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13705:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "13705:24:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13695:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13776:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "13778:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "13778:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13778:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13748:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13756:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13745:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "13745:30:5" + }, + "nodeType": "YulIf", + "src": "13742:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "13873:109:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13954:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13965:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13950:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13950:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13974:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "13883:66:5" + }, + "nodeType": "YulFunctionCall", + "src": "13883:99:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13873:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13507:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13518:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13530:6:5", + "type": "" + } + ], + "src": "13425:574:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14087:229:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14192:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "14194:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "14194:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14194:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14164:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14172:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14161:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "14161:30:5" + }, + "nodeType": "YulIf", + "src": "14158:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "14224:25:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14236:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14244:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "14232:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14232:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "14224:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14286:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "14298:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14304:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14294:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14294:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "14286:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14071:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "14082:4:5", + "type": "" + } + ], + "src": "14005:311:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14385:80:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14395:22:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14410:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14404:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "14404:13:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14395:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14453:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "14426:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "14426:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14426:33:5" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14363:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14371:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14379:5:5", + "type": "" + } + ], + "src": "14322:143:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14601:619:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14611:90:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14693:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14636:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "14636:64:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "14620:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "14620:81:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14611:5:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14710:16:5", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14721:5:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "14714:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14743:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14750:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14736:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "14736:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14736:21:5" + }, + { + "nodeType": "YulAssignment", + "src": "14766:23:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14777:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14784:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14773:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14773:16:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "14766:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14799:44:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14817:6:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14829:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14837:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "14825:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14825:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14813:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14813:30:5" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "14803:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14871:103:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "14885:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "14885:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14885:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "14858:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14866:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14855:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "14855:15:5" + }, + "nodeType": "YulIf", + "src": "14852:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15059:155:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15074:21:5", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15092:3:5" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "15078:10:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "15116:3:5" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "15153:10:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15165:3:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "15121:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "15121:48:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15109:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15109:61:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15109:61:5" + }, + { + "nodeType": "YulAssignment", + "src": "15183:21:5", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "15194:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15199:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15190:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15190:14:5" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "15183:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15012:3:5" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "15017:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "15009:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "15009:15:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "15025:25:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15027:21:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15038:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15043:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15034:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15034:14:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15027:3:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "14987:21:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14989:17:5", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15000:6:5" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "14993:3:5", + "type": "" + } + ] + } + ] + }, + "src": "14983:231:5" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14571:6:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14579:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14587:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "14595:5:5", + "type": "" + } + ], + "src": "14488:732:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15331:297:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15380:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "15382:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "15382:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15382:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15359:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15367:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15355:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15355:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15374:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15351:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15351:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "15344:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15344:35:5" + }, + "nodeType": "YulIf", + "src": "15341:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15472:27:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15492:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15486:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "15486:13:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "15476:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15508:114:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15595:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15603:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15591:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15591:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15610:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15618:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "15517:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "15517:105:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "15508:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15309:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15317:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "15325:5:5", + "type": "" + } + ], + "src": "15243:385:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15736:452:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15782:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "15784:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "15784:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15784:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15757:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15766:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15753:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15753:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15778:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15749:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15749:32:5" + }, + "nodeType": "YulIf", + "src": "15746:119:5" + }, + { + "nodeType": "YulBlock", + "src": "15875:306:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15890:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15914:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15925:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15910:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15910:17:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15904:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "15904:24:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15894:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15975:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "15977:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "15977:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15977:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15947:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15955:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15944:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "15944:30:5" + }, + "nodeType": "YulIf", + "src": "15941:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "16072:99:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16143:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16154:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16139:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16139:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16163:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "16082:56:5" + }, + "nodeType": "YulFunctionCall", + "src": "16082:89:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16072:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15706:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15717:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15729:6:5", + "type": "" + } + ], + "src": "15634:554:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16222:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16239:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16242:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16232:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16232:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16232:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16336:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16339:4:5", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16329:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16329:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16329:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16360:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16363:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16353:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16353:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16353:15:5" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "16194:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16494:34:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16504:18:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16519:3:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "16504:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16466:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "16471:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "16482:11:5", + "type": "" + } + ], + "src": "16380:148:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16644:280:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16654:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16701:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "16668:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "16668:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "16658:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16716:96:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16800:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16805:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "16723:76:5" + }, + "nodeType": "YulFunctionCall", + "src": "16723:89:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16716:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16860:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16867:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16856:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16856:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16874:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16879:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "16821:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "16821:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16821:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "16895:23:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16906:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16911:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16902:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16902:16:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16895:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16625:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16632:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16640:3:5", + "type": "" + } + ], + "src": "16534:390:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17066:139:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17077:102:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17166:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17175:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17084:81:5" + }, + "nodeType": "YulFunctionCall", + "src": "17084:95:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17077:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17189:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17196:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17189:3:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17045:3:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17051:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17062:3:5", + "type": "" + } + ], + "src": "16930:275:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17265:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17275:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "17283:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "17275:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17303:1:5", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "17306:3:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17296:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "17296:14:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17296:14:5" + }, + { + "nodeType": "YulAssignment", + "src": "17319:26:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17337:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17340:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "17327:9:5" + }, + "nodeType": "YulFunctionCall", + "src": "17327:18:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "17319:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "17252:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "17260:4:5", + "type": "" + } + ], + "src": "17211:141:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17489:767:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17499:29:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17522:5:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "17516:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "17516:12:5" + }, + "variables": [ + { + "name": "slotValue", + "nodeType": "YulTypedName", + "src": "17503:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17537:50:5", + "value": { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "17577:9:5" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "17551:25:5" + }, + "nodeType": "YulFunctionCall", + "src": "17551:36:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17541:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17596:96:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17680:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17685:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17603:76:5" + }, + "nodeType": "YulFunctionCall", + "src": "17603:89:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17596:3:5" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17741:159:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17794:3:5" + }, + { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "17803:9:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17818:4:5", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "17814:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17814:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17799:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17799:25:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17787:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "17787:38:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17787:38:5" + }, + { + "nodeType": "YulAssignment", + "src": "17838:52:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17849:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17858:6:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17880:6:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "17873:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "17873:14:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "17866:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "17866:22:5" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "17854:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17854:35:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17845:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17845:45:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "17838:3:5" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "17734:166:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17739:1:5", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17916:334:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17961:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18008:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "17976:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "17976:38:5" + }, + "variables": [ + { + "name": "dataPos", + "nodeType": "YulTypedName", + "src": "17965:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18027:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18036:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "18031:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18094:110:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18123:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18128:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18119:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18119:11:5" + }, + { + "arguments": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "18138:7:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "18132:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "18132:14:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18112:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "18112:35:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18112:35:5" + }, + { + "nodeType": "YulAssignment", + "src": "18164:26:5", + "value": { + "arguments": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "18179:7:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18188:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18175:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18175:15:5" + }, + "variableNames": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "18164:7:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18061:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18064:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "18058:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "18058:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "18072:21:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18074:17:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18083:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18086:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18079:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18079:12:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "18074:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "18054:3:5", + "statements": [] + }, + "src": "18050:154:5" + }, + { + "nodeType": "YulAssignment", + "src": "18217:23:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18228:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18233:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18224:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18224:16:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "18217:3:5" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "17909:341:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17914:1:5", + "type": "", + "value": "1" + } + } + ], + "expression": { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "17712:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17723:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17708:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17708:17:5" + }, + "nodeType": "YulSwitch", + "src": "17701:549:5" + } + ] + }, + "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17470:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17477:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "17485:3:5", + "type": "" + } + ], + "src": "17382:874:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18395:136:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18406:99:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18492:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18501:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "18413:78:5" + }, + "nodeType": "YulFunctionCall", + "src": "18413:92:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18406:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18515:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18522:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18515:3:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18374:3:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18380:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18391:3:5", + "type": "" + } + ], + "src": "18262:269:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18597:93:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18608:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18624:5:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "18618:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "18618:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18608:6:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18640:43:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18676:6:5" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "18650:25:5" + }, + "nodeType": "YulFunctionCall", + "src": "18650:33:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18640:6:5" + } + ] + } + ] + }, + "name": "array_length_t_string_storage_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18580:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18590:6:5", + "type": "" + } + ], + "src": "18537:153:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18754:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18764:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "18772:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "18764:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18792:1:5", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "18795:3:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18785:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "18785:14:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18785:14:5" + }, + { + "nodeType": "YulAssignment", + "src": "18808:26:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18826:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18829:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "18816:9:5" + }, + "nodeType": "YulFunctionCall", + "src": "18816:18:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "18808:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "18741:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "18749:4:5", + "type": "" + } + ], + "src": "18696:145:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18891:49:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18901:33:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18919:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18926:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18915:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18915:14:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18931:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "18911:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18911:23:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "18901:6:5" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18874:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "18884:6:5", + "type": "" + } + ], + "src": "18847:93:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18999:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19009:37:5", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "19034:4:5" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19040:5:5" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "19030:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19030:16:5" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "19009:8:5" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "18974:4:5", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18980:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "18990:8:5", + "type": "" + } + ], + "src": "18946:107:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19135:317:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19145:35:5", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nodeType": "YulIdentifier", + "src": "19166:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19178:1:5", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "19162:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19162:18:5" + }, + "variables": [ + { + "name": "shiftBits", + "nodeType": "YulTypedName", + "src": "19149:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19189:109:5", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "19220:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19231:66:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "19201:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "19201:97:5" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "19193:4:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19307:51:5", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "19338:9:5" + }, + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "19349:8:5" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "19319:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "19319:39:5" + }, + "variableNames": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "19307:8:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19367:30:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19380:5:5" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "19391:4:5" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "19387:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19387:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19376:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19376:21:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19367:5:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19406:40:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19419:5:5" + }, + { + "arguments": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "19430:8:5" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "19440:4:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19426:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19426:19:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "19416:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "19416:30:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "19406:6:5" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19096:5:5", + "type": "" + }, + { + "name": "shiftBytes", + "nodeType": "YulTypedName", + "src": "19103:10:5", + "type": "" + }, + { + "name": "toInsert", + "nodeType": "YulTypedName", + "src": "19115:8:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "19128:6:5", + "type": "" + } + ], + "src": "19059:393:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19518:82:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19528:66:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19586:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19568:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "19568:24:5" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "19559:8:5" + }, + "nodeType": "YulFunctionCall", + "src": "19559:34:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19541:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "19541:53:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "19528:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19498:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "19508:9:5", + "type": "" + } + ], + "src": "19458:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19653:28:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19663:12:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19670:5:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "19663:3:5" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19639:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "19649:3:5", + "type": "" + } + ], + "src": "19606:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19763:193:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19773:63:5", + "value": { + "arguments": [ + { + "name": "value_0", + "nodeType": "YulIdentifier", + "src": "19828:7:5" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "19797:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "19797:39:5" + }, + "variables": [ + { + "name": "convertedValue_0", + "nodeType": "YulTypedName", + "src": "19777:16:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19852:4:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19892:4:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "19886:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "19886:11:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19899:6:5" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nodeType": "YulIdentifier", + "src": "19931:16:5" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nodeType": "YulIdentifier", + "src": "19907:23:5" + }, + "nodeType": "YulFunctionCall", + "src": "19907:41:5" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nodeType": "YulIdentifier", + "src": "19858:27:5" + }, + "nodeType": "YulFunctionCall", + "src": "19858:91:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19845:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19845:105:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19845:105:5" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "19740:4:5", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "19746:6:5", + "type": "" + }, + { + "name": "value_0", + "nodeType": "YulTypedName", + "src": "19754:7:5", + "type": "" + } + ], + "src": "19687:269:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20011:24:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20021:8:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20028:1:5", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "20021:3:5" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "20007:3:5", + "type": "" + } + ], + "src": "19962:73:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20094:136:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20104:46:5", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulIdentifier", + "src": "20118:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "20118:32:5" + }, + "variables": [ + { + "name": "zero_0", + "nodeType": "YulTypedName", + "src": "20108:6:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "20203:4:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20209:6:5" + }, + { + "name": "zero_0", + "nodeType": "YulIdentifier", + "src": "20217:6:5" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "20159:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "20159:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20159:65:5" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "20080:4:5", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "20086:6:5", + "type": "" + } + ], + "src": "20041:189:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20286:136:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "20353:63:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "20397:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20404:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulIdentifier", + "src": "20367:29:5" + }, + "nodeType": "YulFunctionCall", + "src": "20367:39:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20367:39:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "20306:5:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20313:3:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "20303:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "20303:14:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "20318:26:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20320:22:5", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "20333:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20340:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20329:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20329:13:5" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "20320:5:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "20300:2:5", + "statements": [] + }, + "src": "20296:120:5" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "20274:5:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20281:3:5", + "type": "" + } + ], + "src": "20236:186:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20507:464:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "20533:431:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20547:54:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "20595:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "20563:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "20563:38:5" + }, + "variables": [ + { + "name": "dataArea", + "nodeType": "YulTypedName", + "src": "20551:8:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20614:63:5", + "value": { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "20637:8:5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "20665:10:5" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "20647:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "20647:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20633:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20633:44:5" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "20618:11:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20834:27:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20836:23:5", + "value": { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "20851:8:5" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "20836:11:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "20818:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20830:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "20815:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "20815:18:5" + }, + "nodeType": "YulIf", + "src": "20812:49:5" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "20903:11:5" + }, + { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "20920:8:5" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "20948:3:5" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "20930:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "20930:22:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20916:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "20916:37:5" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulIdentifier", + "src": "20874:28:5" + }, + "nodeType": "YulFunctionCall", + "src": "20874:80:5" + }, + "nodeType": "YulExpressionStatement", + "src": "20874:80:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "20524:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20529:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "20521:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "20521:11:5" + }, + "nodeType": "YulIf", + "src": "20518:446:5" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "20483:5:5", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "20490:3:5", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "20495:10:5", + "type": "" + } + ], + "src": "20428:543:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21040:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21050:37:5", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "21075:4:5" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21081:5:5" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "21071:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21071:16:5" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "21050:8:5" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "21015:4:5", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "21021:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "21031:8:5", + "type": "" + } + ], + "src": "20977:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21151:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21161:68:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21210:1:5", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nodeType": "YulIdentifier", + "src": "21213:5:5" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "21206:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21206:13:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21225:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "21221:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21221:6:5" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulIdentifier", + "src": "21177:28:5" + }, + "nodeType": "YulFunctionCall", + "src": "21177:51:5" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "21173:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21173:56:5" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "21165:4:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21238:25:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21252:4:5" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "21258:4:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21248:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21248:15:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "21238:6:5" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "21128:4:5", + "type": "" + }, + { + "name": "bytes", + "nodeType": "YulTypedName", + "src": "21134:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "21144:6:5", + "type": "" + } + ], + "src": "21100:169:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21355:214:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21488:37:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21515:4:5" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "21521:3:5" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "21496:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "21496:29:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21488:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21534:29:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21545:4:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21555:1:5", + "type": "", + "value": "2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "21558:3:5" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "21551:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "21551:11:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "21542:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "21542:21:5" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "21534:4:5" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "21336:4:5", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "21342:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "21350:4:5", + "type": "" + } + ], + "src": "21274:295:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21667:1370:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "21694:9:5", + "statements": [ + { + "nodeType": "YulLeave", + "src": "21696:5:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "21683:4:5" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "21689:3:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "21680:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "21680:13:5" + }, + "nodeType": "YulIf", + "src": "21677:26:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21713:52:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "21761:3:5" + } + ], + "functionName": { + "name": "array_length_t_string_storage_ptr", + "nodeType": "YulIdentifier", + "src": "21727:33:5" + }, + "nodeType": "YulFunctionCall", + "src": "21727:38:5" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "21717:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21850:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "21852:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "21852:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "21852:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "21822:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21830:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "21819:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "21819:30:5" + }, + "nodeType": "YulIf", + "src": "21816:56:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21882:52:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "21928:4:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "21922:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "21922:11:5" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "21896:25:5" + }, + "nodeType": "YulFunctionCall", + "src": "21896:38:5" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "21886:6:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "22027:4:5" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "22033:6:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22041:6:5" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "21981:45:5" + }, + "nodeType": "YulFunctionCall", + "src": "21981:67:5" + }, + "nodeType": "YulExpressionStatement", + "src": "21981:67:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22058:18:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22075:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "22062:9:5", + "type": "" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "22123:669:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22137:37:5", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22156:6:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22168:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "22164:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22164:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22152:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22152:22:5" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "22141:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22187:47:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "22230:3:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage_ptr", + "nodeType": "YulIdentifier", + "src": "22194:35:5" + }, + "nodeType": "YulFunctionCall", + "src": "22194:40:5" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "22187:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22247:51:5", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "22293:4:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "22261:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "22261:37:5" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "22251:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22311:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22320:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "22315:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22379:162:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "22404:6:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "22422:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "22427:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22418:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22418:19:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "22412:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "22412:26:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "22397:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22397:42:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22397:42:5" + }, + { + "nodeType": "YulAssignment", + "src": "22456:24:5", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "22470:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22478:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22466:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22466:14:5" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "22456:6:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22497:30:5", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "22514:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22525:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22510:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22510:17:5" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "22497:9:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "22345:1:5" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "22348:7:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "22342:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "22342:14:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "22357:21:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22359:17:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "22368:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22371:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22364:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22364:12:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "22359:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "22338:3:5", + "statements": [] + }, + "src": "22334:207:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22577:156:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22595:43:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "22622:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "22627:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22618:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22618:19:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "22612:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "22612:26:5" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "22599:9:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "22662:6:5" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "22689:9:5" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22704:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22712:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22700:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22700:17:5" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "22670:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "22670:48:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "22655:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22655:64:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22655:64:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "22560:7:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22569:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "22557:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "22557:19:5" + }, + "nodeType": "YulIf", + "src": "22554:179:5" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "22753:4:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22767:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22775:1:5", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "22763:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22763:14:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22779:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22759:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22759:22:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "22746:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22746:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22746:36:5" + } + ] + }, + "nodeType": "YulCase", + "src": "22116:676:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22121:1:5", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22809:222:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22823:14:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22836:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "22827:5:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22860:67:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22878:35:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "22897:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "22902:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22893:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "22893:19:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "22887:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "22887:26:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22878:5:5" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22853:6:5" + }, + "nodeType": "YulIf", + "src": "22850:77:5" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "22947:4:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23006:5:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "23013:6:5" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "22953:52:5" + }, + "nodeType": "YulFunctionCall", + "src": "22953:67:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "22940:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "22940:81:5" + }, + "nodeType": "YulExpressionStatement", + "src": "22940:81:5" + } + ] + }, + "nodeType": "YulCase", + "src": "22801:230:5", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "22096:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22104:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "22093:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "22093:14:5" + }, + "nodeType": "YulSwitch", + "src": "22086:945:5" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_storage_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "21656:4:5", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "21662:3:5", + "type": "" + } + ], + "src": "21574:1463:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23071:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23088:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23091:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23081:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "23081:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23081:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23185:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23188:4:5", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23178:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "23178:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23178:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23209:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23212:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "23202:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "23202:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23202:15:5" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "23043:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23273:147:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23283:25:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23306:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "23288:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "23288:20:5" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23283:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23317:25:5", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23340:1:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "23322:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "23322:20:5" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23317:1:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23351:16:5", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23362:1:5" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23365:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23358:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23358:9:5" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "23351:3:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23391:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "23393:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "23393:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23393:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23383:1:5" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "23386:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "23380:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "23380:10:5" + }, + "nodeType": "YulIf", + "src": "23377:36:5" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "23260:1:5", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "23263:1:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "23269:3:5", + "type": "" + } + ], + "src": "23229:191:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23469:190:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23479:33:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23506:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "23488:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "23488:24:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23479:5:5" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23602:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "23604:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "23604:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23604:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23527:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23534:66:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "23524:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "23524:77:5" + }, + "nodeType": "YulIf", + "src": "23521:103:5" + }, + { + "nodeType": "YulAssignment", + "src": "23633:20:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23644:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23651:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23640:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23640:13:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "23633:3:5" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23455:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "23465:3:5", + "type": "" + } + ], + "src": "23426:233:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23771:117:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23793:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23801:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23789:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23789:14:5" + }, + { + "hexValue": "5175616e74697479206f72206475726174696f6e2063616e6e6f74206265207a", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23805:34:5", + "type": "", + "value": "Quantity or duration cannot be z" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23782:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "23782:58:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23782:58:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23861:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23869:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23857:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "23857:15:5" + }, + { + "hexValue": "65726f2e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23874:6:5", + "type": "", + "value": "ero." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23850:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "23850:31:5" + }, + "nodeType": "YulExpressionStatement", + "src": "23850:31:5" + } + ] + }, + "name": "store_literal_in_memory_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23763:6:5", + "type": "" + } + ], + "src": "23665:223:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24040:220:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24050:74:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24116:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24121:2:5", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24057:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "24057:67:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24050:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24222:3:5" + } + ], + "functionName": { + "name": "store_literal_in_memory_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0", + "nodeType": "YulIdentifier", + "src": "24133:88:5" + }, + "nodeType": "YulFunctionCall", + "src": "24133:93:5" + }, + "nodeType": "YulExpressionStatement", + "src": "24133:93:5" + }, + { + "nodeType": "YulAssignment", + "src": "24235:19:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24246:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24251:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24242:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24242:12:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24235:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24028:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24036:3:5", + "type": "" + } + ], + "src": "23894:366:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24437:248:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24447:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24459:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24470:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24455:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24455:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24447:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24494:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24505:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24490:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24490:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24513:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24519:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24509:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "24509:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24483:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "24483:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "24483:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "24539:139:5", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24673:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24547:124:5" + }, + "nodeType": "YulFunctionCall", + "src": "24547:131:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24539:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24417:9:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24432:4:5", + "type": "" + } + ], + "src": "24266:419:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24783:1303:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24794:51:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "24841:3:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "24808:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "24808:37:5" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "24798:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24930:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "24932:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "24932:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "24932:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "24902:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24910:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "24899:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "24899:30:5" + }, + "nodeType": "YulIf", + "src": "24896:56:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "24962:52:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "25008:4:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "25002:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "25002:11:5" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "24976:25:5" + }, + "nodeType": "YulFunctionCall", + "src": "24976:38:5" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "24966:6:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "25107:4:5" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "25113:6:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25121:6:5" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "25061:45:5" + }, + "nodeType": "YulFunctionCall", + "src": "25061:67:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25061:67:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25138:18:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25155:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "25142:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25166:17:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25179:4:5", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "25166:9:5" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "25230:611:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "25244:37:5", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25263:6:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25275:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "25271:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25271:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "25259:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25259:22:5" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "25248:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25295:51:5", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "25341:4:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "25309:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "25309:37:5" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "25299:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "25359:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25368:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "25363:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25427:163:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "25452:6:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "25470:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "25475:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25466:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25466:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "25460:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "25460:26:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "25445:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25445:42:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25445:42:5" + }, + { + "nodeType": "YulAssignment", + "src": "25504:24:5", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "25518:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25526:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25514:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25514:14:5" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "25504:6:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25545:31:5", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "25562:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25573:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25558:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25558:18:5" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "25545:9:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "25393:1:5" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "25396:7:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "25390:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "25390:14:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "25405:21:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25407:17:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "25416:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25419:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25412:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25412:12:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "25407:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "25386:3:5", + "statements": [] + }, + "src": "25382:208:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25626:156:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "25644:43:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "25671:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "25676:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25667:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25667:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "25661:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "25661:26:5" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "25648:9:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "25711:6:5" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "25738:9:5" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25753:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25761:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "25749:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25749:17:5" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "25719:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "25719:48:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "25704:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25704:64:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25704:64:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "25609:7:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25618:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "25606:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "25606:19:5" + }, + "nodeType": "YulIf", + "src": "25603:179:5" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "25802:4:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25816:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25824:1:5", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "25812:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25812:14:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25828:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25808:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25808:22:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "25795:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25795:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25795:36:5" + } + ] + }, + "nodeType": "YulCase", + "src": "25223:618:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25228:1:5", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25858:222:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "25872:14:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25885:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25876:5:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25909:67:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25927:35:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "25946:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "25951:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25942:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "25942:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "25936:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "25936:26:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25927:5:5" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25902:6:5" + }, + "nodeType": "YulIf", + "src": "25899:77:5" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "25996:4:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26055:5:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "26062:6:5" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "26002:52:5" + }, + "nodeType": "YulFunctionCall", + "src": "26002:67:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "25989:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "25989:81:5" + }, + "nodeType": "YulExpressionStatement", + "src": "25989:81:5" + } + ] + }, + "nodeType": "YulCase", + "src": "25850:230:5", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "25203:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25211:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25200:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "25200:14:5" + }, + "nodeType": "YulSwitch", + "src": "25193:887:5" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "24772:4:5", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "24778:3:5", + "type": "" + } + ], + "src": "24691:1395:5" + } + ] + }, + "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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(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_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string[]\n function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_string_memory_ptr(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // string[]\n function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(add(offset, 0x20), length, end)\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_array$_t_string_memory_ptr_$dyn_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_menuManagement_$1147_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_menuManagement_$1147_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_menuManagement_$1147__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_menuManagement_$1147_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71(memPtr) {\n\n mstore(add(memPtr, 0), \"Percentage cannot exceeed 90\")\n\n }\n\n function abi_encode_t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n // string[]\n function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let innerOffset := mload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_string_memory_ptr_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // string[]\n function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n 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 // string -> string\n function abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> ret {\n let slotValue := sload(value)\n let length := extract_byte_array_length(slotValue)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n switch and(slotValue, 1)\n case 0 {\n // short byte array\n mstore(pos, and(slotValue, not(0xff)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n // long byte array\n let dataPos := array_dataslot_t_string_storage(value)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) } {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, 1)\n }\n ret := add(pos, length)\n }\n }\n\n function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function array_length_t_string_storage_ptr(value) -> length {\n\n length := sload(value)\n\n length := extract_byte_array_length(length)\n\n }\n\n function array_dataslot_t_string_storage_ptr(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 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_storage_ptr_to_t_string_storage(slot, src) {\n if eq(slot, src) { leave }\n\n let newLen := array_length_t_string_storage_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 switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n src := array_dataslot_t_string_storage_ptr(src)\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, sload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 1)\n }\n if lt(loopEnd, newLen) {\n let lastValue := sload(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 := sload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0(memPtr) {\n\n mstore(add(memPtr, 0), \"Quantity or duration cannot be z\")\n\n mstore(add(memPtr, 32), \"ero.\")\n\n }\n\n function abi_encode_t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0_to_t_string_memory_ptr_fromStack( tail)\n\n }\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": 5, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "98:2289:2:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "98:2289:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;496:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;1536:848;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;670:858;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;137:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;237:89;308:9;290:2;;:28;;;;;;;;;;;;;;;;;;237:89;:::o;496:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1536:848::-;1662:2;1648:10;:16;;1640:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1717:2;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1709:5;:25;;;;;;;;;;;;:::i;:::-;;1754:2;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1745:6;:26;;;;;;;;;;;;:::i;:::-;;1796:2;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1783:10;:33;;;;;;;;;;;;:::i;:::-;;1868:6;1894;1889:488;1911:5;:12;;;;1907:1;:16;1889:488;;;2017:5;2023:1;2017:8;;;;;;;;:::i;:::-;;;;;;;;2000:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;1990:37;;;;;;1976:5;1982:1;1976:8;;;;;;;;:::i;:::-;;;;;;;;;1959:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;1949:37;;;;;;:78;1945:421;;2085:5;2091:1;2085:8;;;;;;;;:::i;:::-;;;;;;;;;2047:22;2070:5;2076:1;2070:8;;;;;;;;:::i;:::-;;;;;;;;;2047:32;;;;;;:::i;:::-;;;;;;;;;;;;;:37;;:46;;;;;;:::i;:::-;;2151:1;2112:22;2135:5;2141:1;2135:8;;;;;;;;:::i;:::-;;;;;;;;;2112:32;;;;;;:::i;:::-;;;;;;;;;;;;;:38;;:40;;;;2229:10;2171:22;2194:5;2200:1;2194:8;;;;;;;;:::i;:::-;;;;;;;;;2171:32;;;;;;:::i;:::-;;;;;;;;;;;;;:57;;:68;;;;2319:9;2301:15;:27;;;;:::i;:::-;2258:22;2281:5;2287:1;2281:8;;;;;;;;:::i;:::-;;;;;;;;;2258:32;;;;;;:::i;:::-;;;;;;;;;;;;;:41;;:70;;;;2347:3;;;;;:::i;:::-;;;;1945:421;1926:3;;;;;:::i;:::-;;;;1889:488;;;;1629:755;1536:848;;;:::o;670:858::-;800:1;789:8;:12;:29;;;;;817:1;805:9;:13;789:29;781:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;879:2;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;871:5;:25;;;;;;;;;;;;:::i;:::-;;916:2;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;907:6;:26;;;;;;;;;;;;:::i;:::-;;958:2;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;945:10;:33;;;;;;;;;;;;:::i;:::-;;1030:6;1056;1051:470;1073:5;:12;;;;1069:1;:16;1051:470;;;1179:5;1185:1;1179:8;;;;;;;;:::i;:::-;;;;;;;;1162:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;1152:37;;;;;;1138:5;1144:1;1138:8;;;;;;;;:::i;:::-;;;;;;;;;1121:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;1111:37;;;;;;:78;1107:403;;1251:8;1209:22;1232:5;1238:1;1232:8;;;;;;;;:::i;:::-;;;;;;;;;1209:32;;;;;;:::i;:::-;;;;;;;;;;;;;:41;;:50;;;;1316:5;1322:1;1316:8;;;;;;;;:::i;:::-;;;;;;;;;1278:22;1301:5;1307:1;1301:8;;;;;;;;:::i;:::-;;;;;;;;;1278:32;;;;;;:::i;:::-;;;;;;;;;;;;;:37;;:46;;;;;;:::i;:::-;;1382:1;1343:22;1366:5;1372:1;1366:8;;;;;;;;:::i;:::-;;;;;;;;;1343:32;;;;;;:::i;:::-;;;;;;;;;;;;;:38;;:40;;;;1463:9;1445:15;:27;;;;:::i;:::-;1402:22;1425:5;1431:1;1425:8;;;;;;;;:::i;:::-;;;;;;;;;1402:32;;;;;;:::i;:::-;;;;;;;;;;;;;:41;;:70;;;;1491:3;;;;;:::i;:::-;;;;1107:403;1088:3;;;;;:::i;:::-;;;;1051:470;;;;770:758;670:858;;;:::o;137:24::-;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;7:75:5:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:117::-;1285:1;1282;1275:12;1299:117;1408:1;1405;1398:12;1422:102;1463:6;1514:2;1510:7;1505:2;1498:5;1494:14;1490:28;1480:38;;1422:102;;;:::o;1530:180::-;1578:77;1575:1;1568:88;1675:4;1672:1;1665:15;1699:4;1696:1;1689:15;1716:281;1799:27;1821:4;1799:27;:::i;:::-;1791:6;1787:40;1929:6;1917:10;1914:22;1893:18;1881:10;1878:34;1875:62;1872:88;;;1940:18;;:::i;:::-;1872:88;1980:10;1976:2;1969:22;1759:238;1716:281;;:::o;2003:129::-;2037:6;2064:20;;:::i;:::-;2054:30;;2093:33;2121:4;2113:6;2093:33;:::i;:::-;2003:129;;;:::o;2138:308::-;2200:4;2290:18;2282:6;2279:30;2276:56;;;2312:18;;:::i;:::-;2276:56;2350:29;2372:6;2350:29;:::i;:::-;2342:37;;2434:4;2428;2424:15;2416:23;;2138:308;;;:::o;2452:146::-;2549:6;2544:3;2539;2526:30;2590:1;2581:6;2576:3;2572:16;2565:27;2452:146;;;:::o;2604:425::-;2682:5;2707:66;2723:49;2765:6;2723:49;:::i;:::-;2707:66;:::i;:::-;2698:75;;2796:6;2789:5;2782:21;2834:4;2827:5;2823:16;2872:3;2863:6;2858:3;2854:16;2851:25;2848:112;;;2879:79;;:::i;:::-;2848:112;2969:54;3016:6;3011:3;3006;2969:54;:::i;:::-;2688:341;2604:425;;;;;:::o;3049:340::-;3105:5;3154:3;3147:4;3139:6;3135:17;3131:27;3121:122;;3162:79;;:::i;:::-;3121:122;3279:6;3266:20;3304:79;3379:3;3371:6;3364:4;3356:6;3352:17;3304:79;:::i;:::-;3295:88;;3111:278;3049:340;;;;:::o;3395:509::-;3464:6;3513:2;3501:9;3492:7;3488:23;3484:32;3481:119;;;3519:79;;:::i;:::-;3481:119;3667:1;3656:9;3652:17;3639:31;3697:18;3689:6;3686:30;3683:117;;;3719:79;;:::i;:::-;3683:117;3824:63;3879:7;3870:6;3859:9;3855:22;3824:63;:::i;:::-;3814:73;;3610:287;3395:509;;;;:::o;3910:99::-;3962:6;3996:5;3990:12;3980:22;;3910:99;;;:::o;4015:169::-;4099:11;4133:6;4128:3;4121:19;4173:4;4168:3;4164:14;4149:29;;4015:169;;;;:::o;4190:246::-;4271:1;4281:113;4295:6;4292:1;4289:13;4281:113;;;4380:1;4375:3;4371:11;4365:18;4361:1;4356:3;4352:11;4345:39;4317:2;4314:1;4310:10;4305:15;;4281:113;;;4428:1;4419:6;4414:3;4410:16;4403:27;4252:184;4190:246;;;:::o;4442:377::-;4530:3;4558:39;4591:5;4558:39;:::i;:::-;4613:71;4677:6;4672:3;4613:71;:::i;:::-;4606:78;;4693:65;4751:6;4746:3;4739:4;4732:5;4728:16;4693:65;:::i;:::-;4783:29;4805:6;4783:29;:::i;:::-;4778:3;4774:39;4767:46;;4534:285;4442:377;;;;:::o;4825:77::-;4862:7;4891:5;4880:16;;4825:77;;;:::o;4908:118::-;4995:24;5013:5;4995:24;:::i;:::-;4990:3;4983:37;4908:118;;:::o;5032:755::-;5257:4;5295:3;5284:9;5280:19;5272:27;;5345:9;5339:4;5335:20;5331:1;5320:9;5316:17;5309:47;5373:78;5446:4;5437:6;5373:78;:::i;:::-;5365:86;;5461:72;5529:2;5518:9;5514:18;5505:6;5461:72;:::i;:::-;5543;5611:2;5600:9;5596:18;5587:6;5543:72;:::i;:::-;5625;5693:2;5682:9;5678:18;5669:6;5625:72;:::i;:::-;5707:73;5775:3;5764:9;5760:19;5751:6;5707:73;:::i;:::-;5032:755;;;;;;;;:::o;5793:321::-;5880:4;5970:18;5962:6;5959:30;5956:56;;;5992:18;;:::i;:::-;5956:56;6042:4;6034:6;6030:17;6022:25;;6102:4;6096;6092:15;6084:23;;5793:321;;;:::o;6120:117::-;6229:1;6226;6219:12;6259:945;6365:5;6390:91;6406:74;6473:6;6406:74;:::i;:::-;6390:91;:::i;:::-;6381:100;;6501:5;6530:6;6523:5;6516:21;6564:4;6557:5;6553:16;6546:23;;6617:4;6609:6;6605:17;6597:6;6593:30;6646:3;6638:6;6635:15;6632:122;;;6665:79;;:::i;:::-;6632:122;6780:6;6763:435;6797:6;6792:3;6789:15;6763:435;;;6886:3;6873:17;6922:18;6909:11;6906:35;6903:122;;;6944:79;;:::i;:::-;6903:122;7068:11;7060:6;7056:24;7106:47;7149:3;7137:10;7106:47;:::i;:::-;7101:3;7094:60;7183:4;7178:3;7174:14;7167:21;;6839:359;;6823:4;6818:3;6814:14;6807:21;;6763:435;;;6767:21;6371:833;;6259:945;;;;;:::o;7226:390::-;7307:5;7356:3;7349:4;7341:6;7337:17;7333:27;7323:122;;7364:79;;:::i;:::-;7323:122;7481:6;7468:20;7506:104;7606:3;7598:6;7591:4;7583:6;7579:17;7506:104;:::i;:::-;7497:113;;7313:303;7226:390;;;;:::o;7622:122::-;7695:24;7713:5;7695:24;:::i;:::-;7688:5;7685:35;7675:63;;7734:1;7731;7724:12;7675:63;7622:122;:::o;7750:139::-;7796:5;7834:6;7821:20;7812:29;;7850:33;7877:5;7850:33;:::i;:::-;7750:139;;;;:::o;7895:849::-;8007:6;8015;8023;8072:2;8060:9;8051:7;8047:23;8043:32;8040:119;;;8078:79;;:::i;:::-;8040:119;8226:1;8215:9;8211:17;8198:31;8256:18;8248:6;8245:30;8242:117;;;8278:79;;:::i;:::-;8242:117;8383:88;8463:7;8454:6;8443:9;8439:22;8383:88;:::i;:::-;8373:98;;8169:312;8520:2;8546:53;8591:7;8582:6;8571:9;8567:22;8546:53;:::i;:::-;8536:63;;8491:118;8648:2;8674:53;8719:7;8710:6;8699:9;8695:22;8674:53;:::i;:::-;8664:63;;8619:118;7895:849;;;;;:::o;8750:60::-;8778:3;8799:5;8792:12;;8750:60;;;:::o;8816:142::-;8866:9;8899:53;8917:34;8926:24;8944:5;8926:24;:::i;:::-;8917:34;:::i;:::-;8899:53;:::i;:::-;8886:66;;8816:142;;;:::o;8964:126::-;9014:9;9047:37;9078:5;9047:37;:::i;:::-;9034:50;;8964:126;;;:::o;9096:149::-;9169:9;9202:37;9233:5;9202:37;:::i;:::-;9189:50;;9096:149;;;:::o;9251:177::-;9361:60;9415:5;9361:60;:::i;:::-;9356:3;9349:73;9251:177;;:::o;9434:268::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9601:94;9692:1;9681:9;9677:17;9668:6;9601:94;:::i;:::-;9434:268;;;;:::o;9708:180::-;9756:77;9753:1;9746:88;9853:4;9850:1;9843:15;9877:4;9874:1;9867:15;9894:320;9938:6;9975:1;9969:4;9965:12;9955:22;;10022:1;10016:4;10012:12;10043:18;10033:81;;10099:4;10091:6;10087:17;10077:27;;10033:81;10161:2;10153:6;10150:14;10130:18;10127:38;10124:84;;10180:18;;:::i;:::-;10124:84;9945:269;9894:320;;;:::o;10220:178::-;10360:30;10356:1;10348:6;10344:14;10337:54;10220:178;:::o;10404:366::-;10546:3;10567:67;10631:2;10626:3;10567:67;:::i;:::-;10560:74;;10643:93;10732:3;10643:93;:::i;:::-;10761:2;10756:3;10752:12;10745:19;;10404:366;;;:::o;10776:419::-;10942:4;10980:2;10969:9;10965:18;10957:26;;11029:9;11023:4;11019:20;11015:1;11004:9;11000:17;10993:47;11057:131;11183:4;11057:131;:::i;:::-;11049:139;;10776:419;;;:::o;11201:434::-;11290:5;11315:66;11331:49;11373:6;11331:49;:::i;:::-;11315:66;:::i;:::-;11306:75;;11404:6;11397:5;11390:21;11442:4;11435:5;11431:16;11480:3;11471:6;11466:3;11462:16;11459:25;11456:112;;;11487:79;;:::i;:::-;11456:112;11577:52;11622:6;11617:3;11612;11577:52;:::i;:::-;11296:339;11201:434;;;;;:::o;11655:355::-;11722:5;11771:3;11764:4;11756:6;11752:17;11748:27;11738:122;;11779:79;;:::i;:::-;11738:122;11889:6;11883:13;11914:90;12000:3;11992:6;11985:4;11977:6;11973:17;11914:90;:::i;:::-;11905:99;;11728:282;11655:355;;;;:::o;12032:960::-;12149:5;12174:91;12190:74;12257:6;12190:74;:::i;:::-;12174:91;:::i;:::-;12165:100;;12285:5;12314:6;12307:5;12300:21;12348:4;12341:5;12337:16;12330:23;;12401:4;12393:6;12389:17;12381:6;12377:30;12430:3;12422:6;12419:15;12416:122;;;12449:79;;:::i;:::-;12416:122;12564:6;12547:439;12581:6;12576:3;12573:15;12547:439;;;12663:3;12657:10;12699:18;12686:11;12683:35;12680:122;;;12721:79;;:::i;:::-;12680:122;12845:11;12837:6;12833:24;12883:58;12937:3;12925:10;12883:58;:::i;:::-;12878:3;12871:71;12971:4;12966:3;12962:14;12955:21;;12623:363;;12607:4;12602:3;12598:14;12591:21;;12547:439;;;12551:21;12155:837;;12032:960;;;;;:::o;13014:405::-;13106:5;13155:3;13148:4;13140:6;13136:17;13132:27;13122:122;;13163:79;;:::i;:::-;13122:122;13273:6;13267:13;13298:115;13409:3;13401:6;13394:4;13386:6;13382:17;13298:115;:::i;:::-;13289:124;;13112:307;13014:405;;;;:::o;13425:574::-;13530:6;13579:2;13567:9;13558:7;13554:23;13550:32;13547:119;;;13585:79;;:::i;:::-;13547:119;13726:1;13715:9;13711:17;13705:24;13756:18;13748:6;13745:30;13742:117;;;13778:79;;:::i;:::-;13742:117;13883:99;13974:7;13965:6;13954:9;13950:22;13883:99;:::i;:::-;13873:109;;13676:316;13425:574;;;;:::o;14005:311::-;14082:4;14172:18;14164:6;14161:30;14158:56;;;14194:18;;:::i;:::-;14158:56;14244:4;14236:6;14232:17;14224:25;;14304:4;14298;14294:15;14286:23;;14005:311;;;:::o;14322:143::-;14379:5;14410:6;14404:13;14395:22;;14426:33;14453:5;14426:33;:::i;:::-;14322:143;;;;:::o;14488:732::-;14595:5;14620:81;14636:64;14693:6;14636:64;:::i;:::-;14620:81;:::i;:::-;14611:90;;14721:5;14750:6;14743:5;14736:21;14784:4;14777:5;14773:16;14766:23;;14837:4;14829:6;14825:17;14817:6;14813:30;14866:3;14858:6;14855:15;14852:122;;;14885:79;;:::i;:::-;14852:122;15000:6;14983:231;15017:6;15012:3;15009:15;14983:231;;;15092:3;15121:48;15165:3;15153:10;15121:48;:::i;:::-;15116:3;15109:61;15199:4;15194:3;15190:14;15183:21;;15059:155;15043:4;15038:3;15034:14;15027:21;;14983:231;;;14987:21;14601:619;;14488:732;;;;;:::o;15243:385::-;15325:5;15374:3;15367:4;15359:6;15355:17;15351:27;15341:122;;15382:79;;:::i;:::-;15341:122;15492:6;15486:13;15517:105;15618:3;15610:6;15603:4;15595:6;15591:17;15517:105;:::i;:::-;15508:114;;15331:297;15243:385;;;;:::o;15634:554::-;15729:6;15778:2;15766:9;15757:7;15753:23;15749:32;15746:119;;;15784:79;;:::i;:::-;15746:119;15925:1;15914:9;15910:17;15904:24;15955:18;15947:6;15944:30;15941:117;;;15977:79;;:::i;:::-;15941:117;16082:89;16163:7;16154:6;16143:9;16139:22;16082:89;:::i;:::-;16072:99;;15875:306;15634:554;;;;:::o;16194:180::-;16242:77;16239:1;16232:88;16339:4;16336:1;16329:15;16363:4;16360:1;16353:15;16380:148;16482:11;16519:3;16504:18;;16380:148;;;;:::o;16534:390::-;16640:3;16668:39;16701:5;16668:39;:::i;:::-;16723:89;16805:6;16800:3;16723:89;:::i;:::-;16716:96;;16821:65;16879:6;16874:3;16867:4;16860:5;16856:16;16821:65;:::i;:::-;16911:6;16906:3;16902:16;16895:23;;16644:280;16534:390;;;;:::o;16930:275::-;17062:3;17084:95;17175:3;17166:6;17084:95;:::i;:::-;17077:102;;17196:3;17189:10;;16930:275;;;;:::o;17211:141::-;17260:4;17283:3;17275:11;;17306:3;17303:1;17296:14;17340:4;17337:1;17327:18;17319:26;;17211:141;;;:::o;17382:874::-;17485:3;17522:5;17516:12;17551:36;17577:9;17551:36;:::i;:::-;17603:89;17685:6;17680:3;17603:89;:::i;:::-;17596:96;;17723:1;17712:9;17708:17;17739:1;17734:166;;;;17914:1;17909:341;;;;17701:549;;17734:166;17818:4;17814:9;17803;17799:25;17794:3;17787:38;17880:6;17873:14;17866:22;17858:6;17854:35;17849:3;17845:45;17838:52;;17734:166;;17909:341;17976:38;18008:5;17976:38;:::i;:::-;18036:1;18050:154;18064:6;18061:1;18058:13;18050:154;;;18138:7;18132:14;18128:1;18123:3;18119:11;18112:35;18188:1;18179:7;18175:15;18164:26;;18086:4;18083:1;18079:12;18074:17;;18050:154;;;18233:6;18228:3;18224:16;18217:23;;17916:334;;17701:549;;17489:767;;17382:874;;;;:::o;18262:269::-;18391:3;18413:92;18501:3;18492:6;18413:92;:::i;:::-;18406:99;;18522:3;18515:10;;18262:269;;;;:::o;18537:153::-;18590:6;18624:5;18618:12;18608:22;;18650:33;18676:6;18650:33;:::i;:::-;18640:43;;18537:153;;;:::o;18696:145::-;18749:4;18772:3;18764:11;;18795:3;18792:1;18785:14;18829:4;18826:1;18816:18;18808:26;;18696:145;;;:::o;18847:93::-;18884:6;18931:2;18926;18919:5;18915:14;18911:23;18901:33;;18847:93;;;:::o;18946:107::-;18990:8;19040:5;19034:4;19030:16;19009:37;;18946:107;;;;:::o;19059:393::-;19128:6;19178:1;19166:10;19162:18;19201:97;19231:66;19220:9;19201:97;:::i;:::-;19319:39;19349:8;19338:9;19319:39;:::i;:::-;19307:51;;19391:4;19387:9;19380:5;19376:21;19367:30;;19440:4;19430:8;19426:19;19419:5;19416:30;19406:40;;19135:317;;19059:393;;;;;:::o;19458:142::-;19508:9;19541:53;19559:34;19568:24;19586:5;19568:24;:::i;:::-;19559:34;:::i;:::-;19541:53;:::i;:::-;19528:66;;19458:142;;;:::o;19606:75::-;19649:3;19670:5;19663:12;;19606:75;;;:::o;19687:269::-;19797:39;19828:7;19797:39;:::i;:::-;19858:91;19907:41;19931:16;19907:41;:::i;:::-;19899:6;19892:4;19886:11;19858:91;:::i;:::-;19852:4;19845:105;19763:193;19687:269;;;:::o;19962:73::-;20007:3;19962:73;:::o;20041:189::-;20118:32;;:::i;:::-;20159:65;20217:6;20209;20203:4;20159:65;:::i;:::-;20094:136;20041:189;;:::o;20236:186::-;20296:120;20313:3;20306:5;20303:14;20296:120;;;20367:39;20404:1;20397:5;20367:39;:::i;:::-;20340:1;20333:5;20329:13;20320:22;;20296:120;;;20236:186;;:::o;20428:543::-;20529:2;20524:3;20521:11;20518:446;;;20563:38;20595:5;20563:38;:::i;:::-;20647:29;20665:10;20647:29;:::i;:::-;20637:8;20633:44;20830:2;20818:10;20815:18;20812:49;;;20851:8;20836:23;;20812:49;20874:80;20930:22;20948:3;20930:22;:::i;:::-;20920:8;20916:37;20903:11;20874:80;:::i;:::-;20533:431;;20518:446;20428:543;;;:::o;20977:117::-;21031:8;21081:5;21075:4;21071:16;21050:37;;20977:117;;;;:::o;21100:169::-;21144:6;21177:51;21225:1;21221:6;21213:5;21210:1;21206:13;21177:51;:::i;:::-;21173:56;21258:4;21252;21248:15;21238:25;;21151:118;21100:169;;;;:::o;21274:295::-;21350:4;21496:29;21521:3;21515:4;21496:29;:::i;:::-;21488:37;;21558:3;21555:1;21551:11;21545:4;21542:21;21534:29;;21274:295;;;;:::o;21574:1463::-;21689:3;21683:4;21680:13;21677:26;;21696:5;;;;21677:26;21727:38;21761:3;21727:38;:::i;:::-;21830:18;21822:6;21819:30;21816:56;;;21852:18;;:::i;:::-;21816:56;21896:38;21928:4;21922:11;21896:38;:::i;:::-;21981:67;22041:6;22033;22027:4;21981:67;:::i;:::-;22075:1;22104:2;22096:6;22093:14;22121:1;22116:676;;;;22836:1;22853:6;22850:77;;;22902:9;22897:3;22893:19;22887:26;22878:35;;22850:77;22953:67;23013:6;23006:5;22953:67;:::i;:::-;22947:4;22940:81;22809:222;22086:945;;22116:676;22168:4;22164:9;22156:6;22152:22;22194:40;22230:3;22194:40;:::i;:::-;22187:47;;22261:37;22293:4;22261:37;:::i;:::-;22320:1;22334:207;22348:7;22345:1;22342:14;22334:207;;;22427:9;22422:3;22418:19;22412:26;22404:6;22397:42;22478:1;22470:6;22466:14;22456:24;;22525:1;22514:9;22510:17;22497:30;;22371:4;22368:1;22364:12;22359:17;;22334:207;;;22569:6;22560:7;22557:19;22554:179;;;22627:9;22622:3;22618:19;22612:26;22670:48;22712:4;22704:6;22700:17;22689:9;22670:48;:::i;:::-;22662:6;22655:64;22577:156;22554:179;22779:1;22775;22767:6;22763:14;22759:22;22753:4;22746:36;22123:669;;;22086:945;;21667:1370;;;21574:1463;;;:::o;23043:180::-;23091:77;23088:1;23081:88;23188:4;23185:1;23178:15;23212:4;23209:1;23202:15;23229:191;23269:3;23288:20;23306:1;23288:20;:::i;:::-;23283:25;;23322:20;23340:1;23322:20;:::i;:::-;23317:25;;23365:1;23362;23358:9;23351:16;;23386:3;23383:1;23380:10;23377:36;;;23393:18;;:::i;:::-;23377:36;23229:191;;;;:::o;23426:233::-;23465:3;23488:24;23506:5;23488:24;:::i;:::-;23479:33;;23534:66;23527:5;23524:77;23521:103;;23604:18;;:::i;:::-;23521:103;23651:1;23644:5;23640:13;23633:20;;23426:233;;;:::o;23665:223::-;23805:34;23801:1;23793:6;23789:14;23782:58;23874:6;23869:2;23861:6;23857:15;23850:31;23665:223;:::o;23894:366::-;24036:3;24057:67;24121:2;24116:3;24057:67;:::i;:::-;24050:74;;24133:93;24222:3;24133:93;:::i;:::-;24251:2;24246:3;24242:12;24235:19;;23894:366;;;:::o;24266:419::-;24432:4;24470:2;24459:9;24455:18;24447:26;;24519:9;24513:4;24509:20;24505:1;24494:9;24490:17;24483:47;24547:131;24673:4;24547:131;:::i;:::-;24539:139;;24266:419;;;:::o;24691:1395::-;24808:37;24841:3;24808:37;:::i;:::-;24910:18;24902:6;24899:30;24896:56;;;24932:18;;:::i;:::-;24896:56;24976:38;25008:4;25002:11;24976:38;:::i;:::-;25061:67;25121:6;25113;25107:4;25061:67;:::i;:::-;25155:1;25179:4;25166:17;;25211:2;25203:6;25200:14;25228:1;25223:618;;;;25885:1;25902:6;25899:77;;;25951:9;25946:3;25942:19;25936:26;25927:35;;25899:77;26002:67;26062:6;26055:5;26002:67;:::i;:::-;25996:4;25989:81;25858:222;25193:887;;25223:618;25275:4;25271:9;25263:6;25259:22;25309:37;25341:4;25309:37;:::i;:::-;25368:1;25382:208;25396:7;25393:1;25390:14;25382:208;;;25475:9;25470:3;25466:19;25460:26;25452:6;25445:42;25526:1;25518:6;25514:14;25504:24;;25573:2;25562:9;25558:18;25545:31;;25419:4;25416:1;25412:12;25407:17;;25382:208;;;25618:6;25609:7;25606:19;25603:179;;;25676:9;25671:3;25667:19;25661:26;25719:48;25761:4;25753:6;25749:17;25738:9;25719:48;:::i;:::-;25711:6;25704:64;25626:156;25603:179;25828:1;25824;25816:6;25812:14;25808:22;25802:4;25795:36;25230:611;;;25193:887;;24783:1303;;;24691:1395;;:::o", + "source": "//SPDX-License-Identifier:MIT\r\npragma solidity >=0.8.10 <0.8.20;\r\nimport \"./menuManagement.sol\";\r\ncontract discountsAndPromotions {\r\n menuManagement public mn;\r\n string [] names ;\r\n uint [] prices;\r\n uint [] quantities;\r\n function setMenu(address _addrmenu) public{\r\n mn=menuManagement(_addrmenu);\r\n }\r\n struct PromAndDisc {\r\n string name;\r\n uint types;\r\n uint quantity;\r\n uint pricepercentagededuction;\r\n uint duration;\r\n }\r\n mapping(string=> PromAndDisc) public PromotionsandDiscounts;\r\n\r\n //The Quantity here is the quantity \r\n //after which the customer will be eligible for free meal.\r\n function AddBuyAndGetFreePromotion (string [] memory items , uint quantity , uint _duration) public {\r\n require(quantity > 0 && _duration > 0 , \"Quantity or duration cannot be zero.\");\r\n names = mn.getItemNames();\r\n prices = mn.getMenuPrice() ;\r\n quantities = mn.getMenuQuantity();//OPC.getMenuItems();//Tuples in solidity\r\n uint j = 0;\r\n for (uint i = 0 ; i < names.length ; i++){\r\n if (keccak256(abi.encodePacked(names[i])) == keccak256(abi.encodePacked(items[j]))){\r\n PromotionsandDiscounts[names[i]].quantity=quantity;\r\n PromotionsandDiscounts[names[i]].name=names[i];\r\n PromotionsandDiscounts[names[i]].types=1;\r\n PromotionsandDiscounts[names[i]].duration= block.timestamp + _duration;\r\n j++;\r\n }\r\n }\r\n }\r\n\r\n function AddSimpleDiscount(string [] memory items , uint percentage , uint _duration) public {\r\n require(percentage <= 90 , \"Percentage cannot exceeed 90\");\r\n names = mn.getItemNames();\r\n prices = mn.getMenuPrice() ;\r\n quantities = mn.getMenuQuantity();//OPC.getMenuItems();//Tuples in solidity\r\n uint j = 0;\r\n for (uint i = 0 ; i < names.length ; i++){\r\n if (keccak256(abi.encodePacked(names[i])) == keccak256(abi.encodePacked(items[j]))){\r\n PromotionsandDiscounts[names[i]].name=names[i];\r\n PromotionsandDiscounts[names[i]].types=2;\r\n PromotionsandDiscounts[names[i]].pricepercentagededuction=percentage;\r\n PromotionsandDiscounts[names[i]].duration= block.timestamp + _duration;\r\n j++;\r\n }\r\n }\r\n }\r\n}", + "sourcePath": "/home/awais/Downloads/Project2/contracts/discountsAndPromotions.sol", + "ast": { + "absolutePath": "project:/contracts/discountsAndPromotions.sol", + "exportedSymbols": { + "discountsAndPromotions": [ + 947 + ], + "menuManagement": [ + 1147 + ] + }, + "id": 948, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 669, + "literals": [ + "solidity", + ">=", + "0.8", + ".10", + "<", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:33:2" + }, + { + "absolutePath": "project:/contracts/menuManagement.sol", + "file": "./menuManagement.sol", + "id": 670, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 948, + "sourceUnit": 1148, + "src": "66:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "discountsAndPromotions", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 947, + "linearizedBaseContracts": [ + 947 + ], + "name": "discountsAndPromotions", + "nameLocation": "107:22:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "ffc841bd", + "id": 673, + "mutability": "mutable", + "name": "mn", + "nameLocation": "159:2:2", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "137:24:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + }, + "typeName": { + "id": 672, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 671, + "name": "menuManagement", + "nameLocations": [ + "137:14:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1147, + "src": "137:14:2" + }, + "referencedDeclaration": 1147, + "src": "137:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 676, + "mutability": "mutable", + "name": "names", + "nameLocation": "178:5:2", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "168:15:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "168:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 675, + "nodeType": "ArrayTypeName", + "src": "168:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "prices", + "nameLocation": "199:6:2", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "191:14:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 677, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "191:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 678, + "nodeType": "ArrayTypeName", + "src": "191:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 682, + "mutability": "mutable", + "name": "quantities", + "nameLocation": "220:10:2", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "212:18:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 680, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "212:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 681, + "nodeType": "ArrayTypeName", + "src": "212:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 693, + "nodeType": "Block", + "src": "279:47:2", + "statements": [ + { + "expression": { + "id": 691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 687, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "290:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 689, + "name": "_addrmenu", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "308:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 688, + "name": "menuManagement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "293:14:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_menuManagement_$1147_$", + "typeString": "type(contract menuManagement)" + } + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "293:25:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "src": "290:28:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 692, + "nodeType": "ExpressionStatement", + "src": "290:28:2" + } + ] + }, + "functionSelector": "7d0a5bed", + "id": 694, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setMenu", + "nameLocation": "246:7:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 684, + "mutability": "mutable", + "name": "_addrmenu", + "nameLocation": "262:9:2", + "nodeType": "VariableDeclaration", + "scope": 694, + "src": "254:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "253:19:2" + }, + "returnParameters": { + "id": 686, + "nodeType": "ParameterList", + "parameters": [], + "src": "279:0:2" + }, + "scope": 947, + "src": "237:89:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "canonicalName": "discountsAndPromotions.PromAndDisc", + "id": 705, + "members": [ + { + "constant": false, + "id": 696, + "mutability": "mutable", + "name": "name", + "nameLocation": "369:4:2", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "362:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "362:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 698, + "mutability": "mutable", + "name": "types", + "nameLocation": "389:5:2", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "384:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 697, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "384:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 700, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "410:8:2", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "405:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 699, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "405:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 702, + "mutability": "mutable", + "name": "pricepercentagededuction", + "nameLocation": "434:24:2", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "429:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 701, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "429:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 704, + "mutability": "mutable", + "name": "duration", + "nameLocation": "474:8:2", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "469:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 703, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "469:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PromAndDisc", + "nameLocation": "339:11:2", + "nodeType": "StructDefinition", + "scope": 947, + "src": "332:158:2", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "9a3a8d10", + "id": 710, + "mutability": "mutable", + "name": "PromotionsandDiscounts", + "nameLocation": "533:22:2", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "496:59:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string => struct discountsAndPromotions.PromAndDisc)" + }, + "typeName": { + "id": 709, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 706, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "504:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "496:29:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string => struct discountsAndPromotions.PromAndDisc)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 708, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 707, + "name": "PromAndDisc", + "nameLocations": [ + "513:11:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 705, + "src": "513:11:2" + }, + "referencedDeclaration": 705, + "src": "513:11:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage_ptr", + "typeString": "struct discountsAndPromotions.PromAndDisc" + } + } + }, + "visibility": "public" + }, + { + "body": { + "id": 829, + "nodeType": "Block", + "src": "770:758:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 721, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 715, + "src": "789:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "800:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "789:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 724, + "name": "_duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 717, + "src": "805:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "817:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "805:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "789:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5175616e74697479206f72206475726174696f6e2063616e6e6f74206265207a65726f2e", + "id": 728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "821:38:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0", + "typeString": "literal_string \"Quantity or duration cannot be zero.\"" + }, + "value": "Quantity or duration cannot be zero." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_eb4324f1432d6da97e6b7de3eaf9fa3e34e9184fe7c31a80ecfdb7de96a567d0", + "typeString": "literal_string \"Quantity or duration cannot be zero.\"" + } + ], + "id": 720, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "781:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "781:79:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 730, + "nodeType": "ExpressionStatement", + "src": "781:79:2" + }, + { + "expression": { + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 731, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "871:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 732, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "879:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "882:12:2", + "memberName": "getItemNames", + "nodeType": "MemberAccess", + "referencedDeclaration": 1073, + "src": "879:15:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view external returns (string memory[] memory)" + } + }, + "id": 734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "879:17:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "src": "871:25:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 736, + "nodeType": "ExpressionStatement", + "src": "871:25:2" + }, + { + "expression": { + "id": 741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 737, + "name": "prices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "907:6:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 738, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "916:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "919:12:2", + "memberName": "getMenuPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 1137, + "src": "916:15:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "916:17:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "907:26:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 742, + "nodeType": "ExpressionStatement", + "src": "907:26:2" + }, + { + "expression": { + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 743, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "945:10:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 744, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "958:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "961:15:2", + "memberName": "getMenuQuantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 1146, + "src": "958:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "958:20:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "945:33:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 748, + "nodeType": "ExpressionStatement", + "src": "945:33:2" + }, + { + "assignments": [ + 750 + ], + "declarations": [ + { + "constant": false, + "id": 750, + "mutability": "mutable", + "name": "j", + "nameLocation": "1035:1:2", + "nodeType": "VariableDeclaration", + "scope": 829, + "src": "1030:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 749, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1030:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 752, + "initialValue": { + "hexValue": "30", + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1039:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1030:10:2" + }, + { + "body": { + "id": 827, + "nodeType": "Block", + "src": "1092:429:2", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 767, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1138:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 769, + "indexExpression": { + "id": 768, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1144:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1138:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 765, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1121:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1125:12:2", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1121:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1121:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 764, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1111:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1111:37:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 775, + "name": "items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 713, + "src": "1179:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 777, + "indexExpression": { + "id": 776, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "1185:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1179:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 773, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1162:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1166:12:2", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1162:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1162:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 772, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1152:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1152:37:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1111:78:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 826, + "nodeType": "IfStatement", + "src": "1107:403:2", + "trueBody": { + "id": 825, + "nodeType": "Block", + "src": "1190:320:2", + "statements": [ + { + "expression": { + "id": 788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 781, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "1209:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 785, + "indexExpression": { + "baseExpression": { + "id": 782, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1232:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 784, + "indexExpression": { + "id": 783, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1238:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1232:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1209:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1242:8:2", + "memberName": "quantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 700, + "src": "1209:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 787, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 715, + "src": "1251:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1209:50:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 789, + "nodeType": "ExpressionStatement", + "src": "1209:50:2" + }, + { + "expression": { + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 790, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "1278:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 794, + "indexExpression": { + "baseExpression": { + "id": 791, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1301:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 793, + "indexExpression": { + "id": 792, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1307:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1301:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1278:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1311:4:2", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 696, + "src": "1278:37:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 796, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1316:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 798, + "indexExpression": { + "id": 797, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1322:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1316:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "1278:46:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 800, + "nodeType": "ExpressionStatement", + "src": "1278:46:2" + }, + { + "expression": { + "id": 808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 801, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "1343:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 805, + "indexExpression": { + "baseExpression": { + "id": 802, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1366:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 804, + "indexExpression": { + "id": 803, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1372:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1366:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1343:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 806, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1376:5:2", + "memberName": "types", + "nodeType": "MemberAccess", + "referencedDeclaration": 698, + "src": "1343:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1382:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1343:40:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 809, + "nodeType": "ExpressionStatement", + "src": "1343:40:2" + }, + { + "expression": { + "id": 820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 810, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "1402:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 814, + "indexExpression": { + "baseExpression": { + "id": 811, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1425:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 813, + "indexExpression": { + "id": 812, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1431:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1425:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1402:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 815, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1435:8:2", + "memberName": "duration", + "nodeType": "MemberAccess", + "referencedDeclaration": 704, + "src": "1402:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 816, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1445:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1451:9:2", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1445:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 818, + "name": "_duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 717, + "src": "1463:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1445:27:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1402:70:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 821, + "nodeType": "ExpressionStatement", + "src": "1402:70:2" + }, + { + "expression": { + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1491:3:2", + "subExpression": { + "id": 822, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "1491:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 824, + "nodeType": "ExpressionStatement", + "src": "1491:3:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 757, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1069:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 758, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1073:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1079:6:2", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1073:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1069:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 828, + "initializationExpression": { + "assignments": [ + 754 + ], + "declarations": [ + { + "constant": false, + "id": 754, + "mutability": "mutable", + "name": "i", + "nameLocation": "1061:1:2", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "1056:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 753, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1056:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 756, + "initialValue": { + "hexValue": "30", + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1065:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1056:10:2" + }, + "loopExpression": { + "expression": { + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1088:3:2", + "subExpression": { + "id": 761, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1088:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 763, + "nodeType": "ExpressionStatement", + "src": "1088:3:2" + }, + "nodeType": "ForStatement", + "src": "1051:470:2" + } + ] + }, + "functionSelector": "fa30dbd9", + "id": 830, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "AddBuyAndGetFreePromotion", + "nameLocation": "679:25:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 713, + "mutability": "mutable", + "name": "items", + "nameLocation": "723:5:2", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "706:22:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 711, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "706:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 712, + "nodeType": "ArrayTypeName", + "src": "706:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 715, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "736:8:2", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "731:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 714, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "731:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 717, + "mutability": "mutable", + "name": "_duration", + "nameLocation": "752:9:2", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "747:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 716, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "747:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "705:57:2" + }, + "returnParameters": { + "id": 719, + "nodeType": "ParameterList", + "parameters": [], + "src": "770:0:2" + }, + "scope": 947, + "src": "670:858:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 945, + "nodeType": "Block", + "src": "1629:755:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 841, + "name": "percentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 835, + "src": "1648:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3930", + "id": 842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1662:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_90_by_1", + "typeString": "int_const 90" + }, + "value": "90" + }, + "src": "1648:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50657263656e746167652063616e6e6f742065786365656564203930", + "id": 844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1667:30:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71", + "typeString": "literal_string \"Percentage cannot exceeed 90\"" + }, + "value": "Percentage cannot exceeed 90" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4619c2a2fab11ef4116a462f5a707df7b93e930f7ad5f94641160b2ab797eb71", + "typeString": "literal_string \"Percentage cannot exceeed 90\"" + } + ], + "id": 840, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1640:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1640:58:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 846, + "nodeType": "ExpressionStatement", + "src": "1640:58:2" + }, + { + "expression": { + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 847, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1709:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 848, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "1717:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1720:12:2", + "memberName": "getItemNames", + "nodeType": "MemberAccess", + "referencedDeclaration": 1073, + "src": "1717:15:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view external returns (string memory[] memory)" + } + }, + "id": 850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1717:17:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "src": "1709:25:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 852, + "nodeType": "ExpressionStatement", + "src": "1709:25:2" + }, + { + "expression": { + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 853, + "name": "prices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "1745:6:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 854, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "1754:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1757:12:2", + "memberName": "getMenuPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 1137, + "src": "1754:15:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1754:17:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "1745:26:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 858, + "nodeType": "ExpressionStatement", + "src": "1745:26:2" + }, + { + "expression": { + "id": 863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 859, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 682, + "src": "1783:10:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 860, + "name": "mn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 673, + "src": "1796:2:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_menuManagement_$1147", + "typeString": "contract menuManagement" + } + }, + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1799:15:2", + "memberName": "getMenuQuantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 1146, + "src": "1796:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function () view external returns (uint256[] memory)" + } + }, + "id": 862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1796:20:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "1783:33:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 864, + "nodeType": "ExpressionStatement", + "src": "1783:33:2" + }, + { + "assignments": [ + 866 + ], + "declarations": [ + { + "constant": false, + "id": 866, + "mutability": "mutable", + "name": "j", + "nameLocation": "1873:1:2", + "nodeType": "VariableDeclaration", + "scope": 945, + "src": "1868:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1868:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 868, + "initialValue": { + "hexValue": "30", + "id": 867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1877:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1868:10:2" + }, + { + "body": { + "id": 943, + "nodeType": "Block", + "src": "1930:447:2", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 883, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1976:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 885, + "indexExpression": { + "id": 884, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "1982:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1976:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 881, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1959:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1963:12:2", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1959:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1959:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 880, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1949:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1949:37:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 891, + "name": "items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 833, + "src": "2017:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 893, + "indexExpression": { + "id": 892, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "2023:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2017:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 889, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2000:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2004:12:2", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2000:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2000:26:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 888, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1990:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1990:37:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1949:78:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 942, + "nodeType": "IfStatement", + "src": "1945:421:2", + "trueBody": { + "id": 941, + "nodeType": "Block", + "src": "2028:338:2", + "statements": [ + { + "expression": { + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 897, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "2047:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 901, + "indexExpression": { + "baseExpression": { + "id": 898, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "2070:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 900, + "indexExpression": { + "id": 899, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "2076:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2070:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2047:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2080:4:2", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 696, + "src": "2047:37:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 903, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "2085:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 905, + "indexExpression": { + "id": 904, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "2091:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2085:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "2047:46:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 907, + "nodeType": "ExpressionStatement", + "src": "2047:46:2" + }, + { + "expression": { + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 908, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "2112:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 912, + "indexExpression": { + "baseExpression": { + "id": 909, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "2135:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 911, + "indexExpression": { + "id": 910, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "2141:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2135:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2112:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 913, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2145:5:2", + "memberName": "types", + "nodeType": "MemberAccess", + "referencedDeclaration": 698, + "src": "2112:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "32", + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2151:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2112:40:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 916, + "nodeType": "ExpressionStatement", + "src": "2112:40:2" + }, + { + "expression": { + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 917, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "2171:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 921, + "indexExpression": { + "baseExpression": { + "id": 918, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "2194:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 920, + "indexExpression": { + "id": 919, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "2200:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2194:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2171:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 922, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2204:24:2", + "memberName": "pricepercentagededuction", + "nodeType": "MemberAccess", + "referencedDeclaration": 702, + "src": "2171:57:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 923, + "name": "percentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 835, + "src": "2229:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2171:68:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 925, + "nodeType": "ExpressionStatement", + "src": "2171:68:2" + }, + { + "expression": { + "id": 936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 926, + "name": "PromotionsandDiscounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "2258:22:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_PromAndDisc_$705_storage_$", + "typeString": "mapping(string memory => struct discountsAndPromotions.PromAndDisc storage ref)" + } + }, + "id": 930, + "indexExpression": { + "baseExpression": { + "id": 927, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "2281:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 929, + "indexExpression": { + "id": 928, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "2287:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2281:8:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2258:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PromAndDisc_$705_storage", + "typeString": "struct discountsAndPromotions.PromAndDisc storage ref" + } + }, + "id": 931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2291:8:2", + "memberName": "duration", + "nodeType": "MemberAccess", + "referencedDeclaration": 704, + "src": "2258:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 932, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "2301:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2307:9:2", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2301:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 934, + "name": "_duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "2319:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2301:27:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2258:70:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 937, + "nodeType": "ExpressionStatement", + "src": "2258:70:2" + }, + { + "expression": { + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2347:3:2", + "subExpression": { + "id": 938, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "2347:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 940, + "nodeType": "ExpressionStatement", + "src": "2347:3:2" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 873, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "1907:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 874, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1911:5:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1917:6:2", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1911:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1907:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 944, + "initializationExpression": { + "assignments": [ + 870 + ], + "declarations": [ + { + "constant": false, + "id": 870, + "mutability": "mutable", + "name": "i", + "nameLocation": "1899:1:2", + "nodeType": "VariableDeclaration", + "scope": 944, + "src": "1894:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 869, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1894:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 872, + "initialValue": { + "hexValue": "30", + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1903:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1894:10:2" + }, + "loopExpression": { + "expression": { + "id": 878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1926:3:2", + "subExpression": { + "id": 877, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "1926:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 879, + "nodeType": "ExpressionStatement", + "src": "1926:3:2" + }, + "nodeType": "ForStatement", + "src": "1889:488:2" + } + ] + }, + "functionSelector": "d271960c", + "id": 946, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "AddSimpleDiscount", + "nameLocation": "1545:17:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 833, + "mutability": "mutable", + "name": "items", + "nameLocation": "1580:5:2", + "nodeType": "VariableDeclaration", + "scope": 946, + "src": "1563:22:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 831, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1563:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 832, + "nodeType": "ArrayTypeName", + "src": "1563:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 835, + "mutability": "mutable", + "name": "percentage", + "nameLocation": "1593:10:2", + "nodeType": "VariableDeclaration", + "scope": 946, + "src": "1588:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 834, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1588:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 837, + "mutability": "mutable", + "name": "_duration", + "nameLocation": "1611:9:2", + "nodeType": "VariableDeclaration", + "scope": 946, + "src": "1606:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 836, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1606:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1562:59:2" + }, + "returnParameters": { + "id": 839, + "nodeType": "ParameterList", + "parameters": [], + "src": "1629:0:2" + }, + "scope": 947, + "src": "1536:848:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 948, + "src": "98:2289:2", + "usedErrors": [] + } + ], + "src": "31:2356:2" + }, + "compiler": { + "name": "solc", + "version": "0.8.19+commit.7dd6d404.Emscripten.clang" + }, + "networks": { + "1337": { + "events": {}, + "links": {}, + "address": "0x0237B9054bEdc4821Ca139B1d25246CC8E2E3eE6", + "transactionHash": "0x7c1fb8c153761c4a0e1cb2877b77a8b5cccdaebbc16768ce89f9190f2541c489" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-06T10:48:27.795Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/Project2/build/contracts/menuManagement.json b/Project2/build/contracts/menuManagement.json new file mode 100644 index 0000000..8fa198f --- /dev/null +++ b/Project2/build/contracts/menuManagement.json @@ -0,0 +1,12620 @@ +{ + "contractName": "menuManagement", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "itms", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "availability", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "names", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "prices", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "quantities", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "qty", + "type": "uint256" + } + ], + "name": "addItem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getItemNames", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "qty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "name": "setQuantity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "CheckAvailability", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getMenuPrice", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getMenuQuantity", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"CheckAvailability\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"qty\",\"type\":\"uint256\"}],\"name\":\"addItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getItemNames\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMenuPrice\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMenuQuantity\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"itms\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"availability\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"names\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"prices\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"quantities\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"qty\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"setQuantity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/menuManagement.sol\":\"menuManagement\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/menuManagement.sol\":{\"keccak256\":\"0x0451e892d242cfdcfd3508616f3b29d5424f466c616e891cbb55c96ff8208ad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d46c9e6615729fcd75d70096ca3d7b35b310155d5e805c6ccbeee81a306da2ad\",\"dweb:/ipfs/QmNuzp1RVk7f1Sg95Naq5PivZXc1LypffHnvnREbPKbKZu\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611283806100616000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a412540311610071578063a41254031461017b578063b3780971146101ab578063bc31c1c1146101c9578063d5e6c333146101f9578063f851a44014610215578063fb5e33b714610233576100a9565b806313bc8510146100ae5780634622ab03146100cc578063825bbdac146100fc5780638aa0fc101461012c5780639405c78f1461015f575b600080fd5b6100b6610251565b6040516100c39190610967565b60405180910390f35b6100e660048036038101906100e191906109d3565b61032a565b6040516100f39190610a4a565b60405180910390f35b61011660048036038101906101119190610ba1565b6103d6565b6040516101239190610c05565b60405180910390f35b61014660048036038101906101419190610ba1565b61047b565b6040516101569493929190610c2f565b60405180910390f35b61017960048036038101906101749190610c7b565b610556565b005b610195600480360381019061019091906109d3565b61057d565b6040516101a29190610cbb565b60405180910390f35b6101b36105a1565b6040516101c09190610d94565b60405180910390f35b6101e360048036038101906101de91906109d3565b6105f9565b6040516101f09190610cbb565b60405180910390f35b610213600480360381019061020e9190610db6565b61061d565b005b61021d610797565b60405161022a9190610e66565b60405180910390f35b61023b6107bd565b6040516102489190610d94565b60405180910390f35b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561032157838290600052602060002001805461029490610eb0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c090610eb0565b801561030d5780601f106102e25761010080835404028352916020019161030d565b820191906000526020600020905b8154815290600101906020018083116102f057829003601f168201915b505050505081526020019060010190610275565b50505050905090565b6001818154811061033a57600080fd5b90600052602060002001600091509050805461035590610eb0565b80601f016020809104026020016040519081016040528092919081815260200182805461038190610eb0565b80156103ce5780601f106103a3576101008083540402835291602001916103ce565b820191906000526020600020905b8154815290600101906020018083116103b157829003601f168201915b505050505081565b6000816005816040516103e99190610f1d565b908152602001604051809103902060009054906101000a900460ff16610444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90610f80565b60405180910390fd5b6000836040516104549190610f1d565b908152602001604051809103902060030160009054906101000a900460ff16915050919050565b6000818051602081018201805184825260208301602085012081835280955050505050506000915090508060000180546104b490610eb0565b80601f01602080910402602001604051908101604052809291908181526020018280546104e090610eb0565b801561052d5780601f106105025761010080835404028352916020019161052d565b820191906000526020600020905b81548152906001019060200180831161051057829003601f168201915b5050505050908060010154908060020154908060030160009054906101000a900460ff16905084565b816003828154811061056b5761056a610fa0565b5b90600052602060002001819055505050565b6003818154811061058d57600080fd5b906000526020600020016000915090505481565b606060038054806020026020016040519081016040528092919081815260200182805480156105ef57602002820191906000526020600020905b8154815260200190600101908083116105db575b5050505050905090565b6002818154811061060957600080fd5b906000526020600020016000915090505481565b600183908060018154018082558091505060019003906000526020600020016000909190919091509081610651919061117b565b5060028290806001815401808255809150506001900390600052602060002001600090919091909150556003819080600181540180825580915050600190039060005260206000200160009091909190915055826000846040516106b59190610f1d565b908152602001604051809103902060000190816106d2919061117b565b50816000846040516106e49190610f1d565b9081526020016040518091039020600101819055508060008460405161070a9190610f1d565b908152602001604051809103902060020181905550600081116000846040516107339190610f1d565b908152602001604051809103902060030160006101000a81548160ff021916908315150217905550600160058460405161076d9190610f1d565b908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600280548060200260200160405190810160405280929190818152602001828054801561080b57602002820191906000526020600020905b8154815260200190600101908083116107f7575b5050505050905090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561087b578082015181840152602081019050610860565b60008484015250505050565b6000601f19601f8301169050919050565b60006108a382610841565b6108ad818561084c565b93506108bd81856020860161085d565b6108c681610887565b840191505092915050565b60006108dd8383610898565b905092915050565b6000602082019050919050565b60006108fd82610815565b6109078185610820565b93508360208202850161091985610831565b8060005b85811015610955578484038952815161093685826108d1565b9450610941836108e5565b925060208a0199505060018101905061091d565b50829750879550505050505092915050565b6000602082019050818103600083015261098181846108f2565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6109b08161099d565b81146109bb57600080fd5b50565b6000813590506109cd816109a7565b92915050565b6000602082840312156109e9576109e8610993565b5b60006109f7848285016109be565b91505092915050565b600082825260208201905092915050565b6000610a1c82610841565b610a268185610a00565b9350610a3681856020860161085d565b610a3f81610887565b840191505092915050565b60006020820190508181036000830152610a648184610a11565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610aae82610887565b810181811067ffffffffffffffff82111715610acd57610acc610a76565b5b80604052505050565b6000610ae0610989565b9050610aec8282610aa5565b919050565b600067ffffffffffffffff821115610b0c57610b0b610a76565b5b610b1582610887565b9050602081019050919050565b82818337600083830152505050565b6000610b44610b3f84610af1565b610ad6565b905082815260208101848484011115610b6057610b5f610a71565b5b610b6b848285610b22565b509392505050565b600082601f830112610b8857610b87610a6c565b5b8135610b98848260208601610b31565b91505092915050565b600060208284031215610bb757610bb6610993565b5b600082013567ffffffffffffffff811115610bd557610bd4610998565b5b610be184828501610b73565b91505092915050565b60008115159050919050565b610bff81610bea565b82525050565b6000602082019050610c1a6000830184610bf6565b92915050565b610c298161099d565b82525050565b60006080820190508181036000830152610c498187610a11565b9050610c586020830186610c20565b610c656040830185610c20565b610c726060830184610bf6565b95945050505050565b60008060408385031215610c9257610c91610993565b5b6000610ca0858286016109be565b9250506020610cb1858286016109be565b9150509250929050565b6000602082019050610cd06000830184610c20565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610d0b8161099d565b82525050565b6000610d1d8383610d02565b60208301905092915050565b6000602082019050919050565b6000610d4182610cd6565b610d4b8185610ce1565b9350610d5683610cf2565b8060005b83811015610d87578151610d6e8882610d11565b9750610d7983610d29565b925050600181019050610d5a565b5085935050505092915050565b60006020820190508181036000830152610dae8184610d36565b905092915050565b600080600060608486031215610dcf57610dce610993565b5b600084013567ffffffffffffffff811115610ded57610dec610998565b5b610df986828701610b73565b9350506020610e0a868287016109be565b9250506040610e1b868287016109be565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e5082610e25565b9050919050565b610e6081610e45565b82525050565b6000602082019050610e7b6000830184610e57565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec857607f821691505b602082108103610edb57610eda610e81565b5b50919050565b600081905092915050565b6000610ef782610841565b610f018185610ee1565b9350610f1181856020860161085d565b80840191505092915050565b6000610f298284610eec565b915081905092915050565b7f4974656d20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610f6a601383610a00565b9150610f7582610f34565b602082019050919050565b60006020820190508181036000830152610f9981610f5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026110317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ff4565b61103b8683610ff4565b95508019841693508086168417925050509392505050565b6000819050919050565b600061107861107361106e8461099d565b611053565b61099d565b9050919050565b6000819050919050565b6110928361105d565b6110a661109e8261107f565b848454611001565b825550505050565b600090565b6110bb6110ae565b6110c6818484611089565b505050565b5b818110156110ea576110df6000826110b3565b6001810190506110cc565b5050565b601f82111561112f5761110081610fcf565b61110984610fe4565b81016020851015611118578190505b61112c61112485610fe4565b8301826110cb565b50505b505050565b600082821c905092915050565b600061115260001984600802611134565b1980831691505092915050565b600061116b8383611141565b9150826002028217905092915050565b61118482610841565b67ffffffffffffffff81111561119d5761119c610a76565b5b6111a78254610eb0565b6111b28282856110ee565b600060209050601f8311600181146111e557600084156111d3578287015190505b6111dd858261115f565b865550611245565b601f1984166111f386610fcf565b60005b8281101561121b578489015182556001820191506020850194506020810190506111f6565b868310156112385784890151611234601f891682611141565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220b014339cc1bcff88026349f665c0d34a7e89dbf177e95ca9756ce11d0341feab64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a412540311610071578063a41254031461017b578063b3780971146101ab578063bc31c1c1146101c9578063d5e6c333146101f9578063f851a44014610215578063fb5e33b714610233576100a9565b806313bc8510146100ae5780634622ab03146100cc578063825bbdac146100fc5780638aa0fc101461012c5780639405c78f1461015f575b600080fd5b6100b6610251565b6040516100c39190610967565b60405180910390f35b6100e660048036038101906100e191906109d3565b61032a565b6040516100f39190610a4a565b60405180910390f35b61011660048036038101906101119190610ba1565b6103d6565b6040516101239190610c05565b60405180910390f35b61014660048036038101906101419190610ba1565b61047b565b6040516101569493929190610c2f565b60405180910390f35b61017960048036038101906101749190610c7b565b610556565b005b610195600480360381019061019091906109d3565b61057d565b6040516101a29190610cbb565b60405180910390f35b6101b36105a1565b6040516101c09190610d94565b60405180910390f35b6101e360048036038101906101de91906109d3565b6105f9565b6040516101f09190610cbb565b60405180910390f35b610213600480360381019061020e9190610db6565b61061d565b005b61021d610797565b60405161022a9190610e66565b60405180910390f35b61023b6107bd565b6040516102489190610d94565b60405180910390f35b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561032157838290600052602060002001805461029490610eb0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c090610eb0565b801561030d5780601f106102e25761010080835404028352916020019161030d565b820191906000526020600020905b8154815290600101906020018083116102f057829003601f168201915b505050505081526020019060010190610275565b50505050905090565b6001818154811061033a57600080fd5b90600052602060002001600091509050805461035590610eb0565b80601f016020809104026020016040519081016040528092919081815260200182805461038190610eb0565b80156103ce5780601f106103a3576101008083540402835291602001916103ce565b820191906000526020600020905b8154815290600101906020018083116103b157829003601f168201915b505050505081565b6000816005816040516103e99190610f1d565b908152602001604051809103902060009054906101000a900460ff16610444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90610f80565b60405180910390fd5b6000836040516104549190610f1d565b908152602001604051809103902060030160009054906101000a900460ff16915050919050565b6000818051602081018201805184825260208301602085012081835280955050505050506000915090508060000180546104b490610eb0565b80601f01602080910402602001604051908101604052809291908181526020018280546104e090610eb0565b801561052d5780601f106105025761010080835404028352916020019161052d565b820191906000526020600020905b81548152906001019060200180831161051057829003601f168201915b5050505050908060010154908060020154908060030160009054906101000a900460ff16905084565b816003828154811061056b5761056a610fa0565b5b90600052602060002001819055505050565b6003818154811061058d57600080fd5b906000526020600020016000915090505481565b606060038054806020026020016040519081016040528092919081815260200182805480156105ef57602002820191906000526020600020905b8154815260200190600101908083116105db575b5050505050905090565b6002818154811061060957600080fd5b906000526020600020016000915090505481565b600183908060018154018082558091505060019003906000526020600020016000909190919091509081610651919061117b565b5060028290806001815401808255809150506001900390600052602060002001600090919091909150556003819080600181540180825580915050600190039060005260206000200160009091909190915055826000846040516106b59190610f1d565b908152602001604051809103902060000190816106d2919061117b565b50816000846040516106e49190610f1d565b9081526020016040518091039020600101819055508060008460405161070a9190610f1d565b908152602001604051809103902060020181905550600081116000846040516107339190610f1d565b908152602001604051809103902060030160006101000a81548160ff021916908315150217905550600160058460405161076d9190610f1d565b908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600280548060200260200160405190810160405280929190818152602001828054801561080b57602002820191906000526020600020905b8154815260200190600101908083116107f7575b5050505050905090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561087b578082015181840152602081019050610860565b60008484015250505050565b6000601f19601f8301169050919050565b60006108a382610841565b6108ad818561084c565b93506108bd81856020860161085d565b6108c681610887565b840191505092915050565b60006108dd8383610898565b905092915050565b6000602082019050919050565b60006108fd82610815565b6109078185610820565b93508360208202850161091985610831565b8060005b85811015610955578484038952815161093685826108d1565b9450610941836108e5565b925060208a0199505060018101905061091d565b50829750879550505050505092915050565b6000602082019050818103600083015261098181846108f2565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6109b08161099d565b81146109bb57600080fd5b50565b6000813590506109cd816109a7565b92915050565b6000602082840312156109e9576109e8610993565b5b60006109f7848285016109be565b91505092915050565b600082825260208201905092915050565b6000610a1c82610841565b610a268185610a00565b9350610a3681856020860161085d565b610a3f81610887565b840191505092915050565b60006020820190508181036000830152610a648184610a11565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610aae82610887565b810181811067ffffffffffffffff82111715610acd57610acc610a76565b5b80604052505050565b6000610ae0610989565b9050610aec8282610aa5565b919050565b600067ffffffffffffffff821115610b0c57610b0b610a76565b5b610b1582610887565b9050602081019050919050565b82818337600083830152505050565b6000610b44610b3f84610af1565b610ad6565b905082815260208101848484011115610b6057610b5f610a71565b5b610b6b848285610b22565b509392505050565b600082601f830112610b8857610b87610a6c565b5b8135610b98848260208601610b31565b91505092915050565b600060208284031215610bb757610bb6610993565b5b600082013567ffffffffffffffff811115610bd557610bd4610998565b5b610be184828501610b73565b91505092915050565b60008115159050919050565b610bff81610bea565b82525050565b6000602082019050610c1a6000830184610bf6565b92915050565b610c298161099d565b82525050565b60006080820190508181036000830152610c498187610a11565b9050610c586020830186610c20565b610c656040830185610c20565b610c726060830184610bf6565b95945050505050565b60008060408385031215610c9257610c91610993565b5b6000610ca0858286016109be565b9250506020610cb1858286016109be565b9150509250929050565b6000602082019050610cd06000830184610c20565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610d0b8161099d565b82525050565b6000610d1d8383610d02565b60208301905092915050565b6000602082019050919050565b6000610d4182610cd6565b610d4b8185610ce1565b9350610d5683610cf2565b8060005b83811015610d87578151610d6e8882610d11565b9750610d7983610d29565b925050600181019050610d5a565b5085935050505092915050565b60006020820190508181036000830152610dae8184610d36565b905092915050565b600080600060608486031215610dcf57610dce610993565b5b600084013567ffffffffffffffff811115610ded57610dec610998565b5b610df986828701610b73565b9350506020610e0a868287016109be565b9250506040610e1b868287016109be565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e5082610e25565b9050919050565b610e6081610e45565b82525050565b6000602082019050610e7b6000830184610e57565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec857607f821691505b602082108103610edb57610eda610e81565b5b50919050565b600081905092915050565b6000610ef782610841565b610f018185610ee1565b9350610f1181856020860161085d565b80840191505092915050565b6000610f298284610eec565b915081905092915050565b7f4974656d20646f6573206e6f7420657869737400000000000000000000000000600082015250565b6000610f6a601383610a00565b9150610f7582610f34565b602082019050919050565b60006020820190508181036000830152610f9981610f5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026110317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ff4565b61103b8683610ff4565b95508019841693508086168417925050509392505050565b6000819050919050565b600061107861107361106e8461099d565b611053565b61099d565b9050919050565b6000819050919050565b6110928361105d565b6110a661109e8261107f565b848454611001565b825550505050565b600090565b6110bb6110ae565b6110c6818484611089565b505050565b5b818110156110ea576110df6000826110b3565b6001810190506110cc565b5050565b601f82111561112f5761110081610fcf565b61110984610fe4565b81016020851015611118578190505b61112c61112485610fe4565b8301826110cb565b50505b505050565b600082821c905092915050565b600061115260001984600802611134565b1980831691505092915050565b600061116b8383611141565b9150826002028217905092915050565b61118482610841565b67ffffffffffffffff81111561119d5761119c610a76565b5b6111a78254610eb0565b6111b28282856110ee565b600060209050601f8311600181146111e557600084156111d3578287015190505b6111dd858261115f565b865550611245565b601f1984166111f386610fcf565b60005b8281101561121b578489015182556001820191506020850194506020810190506111f6565b868310156112385784890151611234601f891682611141565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220b014339cc1bcff88026349f665c0d34a7e89dbf177e95ca9756ce11d0341feab64736f6c63430008130033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:19914:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "91:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "102:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "118:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "112:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "112:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "102:6:5" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "74:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "84:6:5", + "type": "" + } + ], + "src": "7:124:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "258:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "275:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "280:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "268:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "268:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "268:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "296:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "315:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "311:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "311:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "296:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "230:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "235:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "246:11:5", + "type": "" + } + ], + "src": "137:194:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "419:60:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "429:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "437:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "429:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "450:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "462:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "467:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "458:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "458:14:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "450:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "406:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "414:4:5", + "type": "" + } + ], + "src": "337:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "544:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "555:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "571:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "565:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "565:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "555:6:5" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "527:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "537:6:5", + "type": "" + } + ], + "src": "485:99:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "676:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "693:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "698:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "686:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "686:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "686:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "714:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "733:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "738:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "729:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "729:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "714:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "648:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "653:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "664:11:5", + "type": "" + } + ], + "src": "590:159:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "817:184:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "827:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "836:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "831:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "896:63:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "921:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "926:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "917:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "917:11:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "940:3:5" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "945:1:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "936:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "936:11:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "930:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "930:18:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "910:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "910:39:5" + }, + "nodeType": "YulExpressionStatement", + "src": "910:39:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "857:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "860:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "854:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "854:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "868:19:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "870:15:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "879:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "882:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "875:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "875:10:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "870:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "850:3:5", + "statements": [] + }, + "src": "846:113:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "979:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "984:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "975:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "975:16:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "993:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "968:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "968:27:5" + }, + "nodeType": "YulExpressionStatement", + "src": "968:27:5" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "799:3:5", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "804:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "809:6:5", + "type": "" + } + ], + "src": "755:246:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1055:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1065:38:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1083:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1090:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1079:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1079:14:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1099:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1095:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1095:7:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1075:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1075:28:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1065:6:5" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1038:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "1048:6:5", + "type": "" + } + ], + "src": "1007:102:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1197:275:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1207:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1254:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1221:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "1221:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1211:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1269:68:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1325:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1330:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1276:48:5" + }, + "nodeType": "YulFunctionCall", + "src": "1276:61:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1269:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1385:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1392:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1381:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1381:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1399:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1404:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "1346:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "1346:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1346:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "1420:46:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1431:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1458:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1436:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "1436:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1427:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1427:39:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1420:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1178:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1185:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1193:3:5", + "type": "" + } + ], + "src": "1115:357:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1578:96:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:80:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1656:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1664:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1602:53:5" + }, + "nodeType": "YulFunctionCall", + "src": "1602:66:5" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "1588:10:5" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1551:6:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1559:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "1567:10:5", + "type": "" + } + ], + "src": "1478:196:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1765:38:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1775:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1787:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1792:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1783:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1783:14:5" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "1775:4:5" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "1752:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "1760:4:5", + "type": "" + } + ], + "src": "1680:123:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1981:847:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1991:78:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2063:5:5" + } + ], + "functionName": { + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2005:57:5" + }, + "nodeType": "YulFunctionCall", + "src": "2005:64:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1995:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2078:103:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2169:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2174:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2085:83:5" + }, + "nodeType": "YulFunctionCall", + "src": "2085:96:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2078:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2190:20:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2207:3:5" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2194:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2219:39:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2235:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2244:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2252:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2240:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2240:17:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2231:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2231:27:5" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2223:4:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2267:81:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2342:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2282:59:5" + }, + "nodeType": "YulFunctionCall", + "src": "2282:66:5" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "2271:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2357:21:5", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "2371:7:5" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "2361:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2447:336:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2468:3:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2477:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2483:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2473:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2473:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2461:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2461:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2461:33:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2507:34:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2534:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2528:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "2528:13:5" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "2511:13:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2554:92:5", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "2626:13:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2641:4:5" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2562:63:5" + }, + "nodeType": "YulFunctionCall", + "src": "2562:84:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2554:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2659:80:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2732:6:5" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2669:62:5" + }, + "nodeType": "YulFunctionCall", + "src": "2669:70:5" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2659:6:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2752:21:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2763:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2768:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2759:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2759:14:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2752:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2409:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2412:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2406:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "2406:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2420:18:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2422:14:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2431:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2434:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2427:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2427:9:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2422:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "2391:14:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2393:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2402:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "2397:1:5", + "type": "" + } + ] + } + ] + }, + "src": "2387:396:5" + }, + { + "nodeType": "YulAssignment", + "src": "2792:11:5", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2799:4:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2792:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2812:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2819:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2812:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1960:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1967:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1976:3:5", + "type": "" + } + ], + "src": "1837:991:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3002:245:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3012:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3024:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3035:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3020:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3020:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3012:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3059:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3070:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3055:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3055:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3078:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3084:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3074:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3074:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3048:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3048:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3048:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "3104:136:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3226:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3235:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3112:113:5" + }, + "nodeType": "YulFunctionCall", + "src": "3112:128:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3104:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2974:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2986:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2997:4:5", + "type": "" + } + ], + "src": "2834:413:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3293:35:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3303:19:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3319:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3313:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "3313:9:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3303:6:5" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "3286:6:5", + "type": "" + } + ], + "src": "3253:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3423:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3440:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3443:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3433:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3433:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3433:12:5" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "3334:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3546:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3563:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3566:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3556:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3556:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3556:12:5" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "3457:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3625:32:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3635:16:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3646:5:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3635:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3607:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3617:7:5", + "type": "" + } + ], + "src": "3580:77:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3706:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3763:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3772:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3775:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3765:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3765:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3765:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3729:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3754:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3736:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "3736:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3726:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "3726:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3719:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3719:43:5" + }, + "nodeType": "YulIf", + "src": "3716:63:5" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3699:5:5", + "type": "" + } + ], + "src": "3663:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3843:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3853:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3875:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3862:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "3862:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3853:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3918:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3891:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "3891:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3891:33:5" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3821:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3829:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3837:5:5", + "type": "" + } + ], + "src": "3791:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4002:263:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4048:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4050:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "4050:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4050:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4023:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4032:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4019:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4019:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4044:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4015:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4015:32:5" + }, + "nodeType": "YulIf", + "src": "4012:119:5" + }, + { + "nodeType": "YulBlock", + "src": "4141:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4156:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4170:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4160:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4185:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4220:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4231:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4216:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4216:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4240:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4195:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "4195:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4185:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3972:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3983:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3995:6:5", + "type": "" + } + ], + "src": "3936:329:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4367:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4384:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4389:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4377:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4377:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4377:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "4405:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4424:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4429:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4420:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4420:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "4405:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4339:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4344:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "4355:11:5", + "type": "" + } + ], + "src": "4271:169:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4538:285:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4548:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4595:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4562:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "4562:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4552:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4610:78:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4676:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4681:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4617:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "4617:71:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4610:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4736:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4743:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4732:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4732:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4750:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4755:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "4697:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "4697:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4697:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "4771:46:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4782:3:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4809:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "4787:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "4787:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4778:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4778:39:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4771:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4519:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4526:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4534:3:5", + "type": "" + } + ], + "src": "4446:377:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4947:195:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4957:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4969:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4980:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4965:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "4965:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4957:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5004:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5015:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5000:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5000:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5023:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5029:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5019:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5019:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4993:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "4993:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "4993:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "5049:86:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5121:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5130:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5057:63:5" + }, + "nodeType": "YulFunctionCall", + "src": "5057:78:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5049:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4919:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4931:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4942:4:5", + "type": "" + } + ], + "src": "4829:313:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5237:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5254:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5257:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5247:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5247:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5247:12:5" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "5148:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5360:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5377:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5380:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5370:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5370:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5370:12:5" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "5271:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5422:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5442:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5432:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5432:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5432:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5536:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5539:4:5", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5529:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5529:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5529:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5560:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5563:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5553:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5553:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5553:15:5" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "5394:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5623:238:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5633:58:5", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5655:6:5" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "5685:4:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5663:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "5663:27:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5651:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "5651:40:5" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "5637:10:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5802:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "5804:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "5804:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5804:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5745:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5757:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5742:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5742:34:5" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5781:10:5" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5793:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5778:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5778:22:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "5739:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "5739:62:5" + }, + "nodeType": "YulIf", + "src": "5736:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5840:2:5", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5844:10:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5833:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "5833:22:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5833:22:5" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "5609:6:5", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "5617:4:5", + "type": "" + } + ], + "src": "5580:281:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5908:88:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5918:30:5", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "5928:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "5928:20:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5918:6:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5977:6:5" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "5985:4:5" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "5957:19:5" + }, + "nodeType": "YulFunctionCall", + "src": "5957:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "5957:33:5" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "5892:4:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "5901:6:5", + "type": "" + } + ], + "src": "5867:129:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6069:241:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6174:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6176:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "6176:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6176:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6146:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6154:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6143:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6143:30:5" + }, + "nodeType": "YulIf", + "src": "6140:56:5" + }, + { + "nodeType": "YulAssignment", + "src": "6206:37:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6236:6:5" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "6214:21:5" + }, + "nodeType": "YulFunctionCall", + "src": "6214:29:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6206:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6280:23:5", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6292:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6298:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6288:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6288:15:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6280:4:5" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6053:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "6064:4:5", + "type": "" + } + ], + "src": "6002:308:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6380:82:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6403:3:5" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6408:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6413:6:5" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "6390:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "6390:30:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6390:30:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6440:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6445:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6436:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6436:16:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6454:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6429:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6429:27:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6429:27:5" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "6362:3:5", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "6367:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6372:6:5", + "type": "" + } + ], + "src": "6316:146:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6552:341:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6562:75:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6629:6:5" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6587:41:5" + }, + "nodeType": "YulFunctionCall", + "src": "6587:49:5" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "6571:15:5" + }, + "nodeType": "YulFunctionCall", + "src": "6571:66:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6562:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6653:5:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6660:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6646:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6646:21:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6646:21:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6676:27:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6691:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6698:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6687:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6687:16:5" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "6680:3:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6741:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "6743:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "6743:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6743:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6722:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6727:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6718:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6718:16:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6736:3:5" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6715:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "6715:25:5" + }, + "nodeType": "YulIf", + "src": "6712:112:5" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6870:3:5" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6875:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6880:6:5" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "6833:36:5" + }, + "nodeType": "YulFunctionCall", + "src": "6833:54:5" + }, + "nodeType": "YulExpressionStatement", + "src": "6833:54:5" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "6525:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6530:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6538:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "6546:5:5", + "type": "" + } + ], + "src": "6468:425:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6975:278:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7024:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "7026:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7026:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7026:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7003:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7011:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6999:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6999:17:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7018:3:5" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6995:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "6995:27:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6988:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "6988:35:5" + }, + "nodeType": "YulIf", + "src": "6985:122:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7116:34:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7143:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7130:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "7130:20:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7120:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7159:88:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7220:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7228:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7216:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7216:17:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7235:6:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7243:3:5" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7168:47:5" + }, + "nodeType": "YulFunctionCall", + "src": "7168:79:5" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "7159:5:5" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6953:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6961:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "6969:5:5", + "type": "" + } + ], + "src": "6913:340:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7335:433:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7381:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7383:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7383:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7383:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7356:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7365:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7352:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7352:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7377:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7348:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7348:32:5" + }, + "nodeType": "YulIf", + "src": "7345:119:5" + }, + { + "nodeType": "YulBlock", + "src": "7474:287:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7489:45:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7520:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7531:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7516:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7516:17:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7503:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "7503:31:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7493:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7581:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "7583:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "7583:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7583:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7553:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7561:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7550:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "7550:30:5" + }, + "nodeType": "YulIf", + "src": "7547:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "7678:73:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7723:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7734:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7719:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "7719:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7743:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7688:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "7688:63:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7678:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7305:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7316:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7328:6:5", + "type": "" + } + ], + "src": "7259:509:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7816:48:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7826:32:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7851:5:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7844:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7844:13:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7837:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7837:21:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7826:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7798:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7808:7:5", + "type": "" + } + ], + "src": "7774:90:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7929:50:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7946:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7966:5:5" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "7951:14:5" + }, + "nodeType": "YulFunctionCall", + "src": "7951:21:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7939:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "7939:34:5" + }, + "nodeType": "YulExpressionStatement", + "src": "7939:34:5" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7917:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7924:3:5", + "type": "" + } + ], + "src": "7870:109:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8077:118:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8087:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8099:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8110:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8095:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8095:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8087:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8161:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8174:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8185:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8170:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8170:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "8123:37:5" + }, + "nodeType": "YulFunctionCall", + "src": "8123:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8123:65:5" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8049:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8061:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8072:4:5", + "type": "" + } + ], + "src": "7985:210:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8266:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8283:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8306:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8288:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "8288:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8276:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8276:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8276:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8254:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8261:3:5", + "type": "" + } + ], + "src": "8201:118:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8521:436:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8531:27:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8543:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8554:3:5", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8539:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8539:19:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8531:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8579:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8590:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8575:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8575:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8598:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8604:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8594:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8594:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8568:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "8568:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8568:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "8624:86:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8696:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8705:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8632:63:5" + }, + "nodeType": "YulFunctionCall", + "src": "8632:78:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8624:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8764:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8777:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8788:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8773:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8773:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "8720:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "8720:72:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8720:72:5" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "8846:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8859:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8870:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8855:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8855:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "8802:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "8802:72:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8802:72:5" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "8922:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8935:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8946:2:5", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8931:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "8931:18:5" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "8884:37:5" + }, + "nodeType": "YulFunctionCall", + "src": "8884:66:5" + }, + "nodeType": "YulExpressionStatement", + "src": "8884:66:5" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_bool__to_t_string_memory_ptr_t_uint256_t_uint256_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8469:9:5", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "8481:6:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8489:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8497:6:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8505:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8516:4:5", + "type": "" + } + ], + "src": "8325:632:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9046:391:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9092:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9094:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "9094:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9094:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9067:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9076:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9063:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9063:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9088:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9059:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9059:32:5" + }, + "nodeType": "YulIf", + "src": "9056:119:5" + }, + { + "nodeType": "YulBlock", + "src": "9185:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9200:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9214:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9204:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9229:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9264:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9275:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9260:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9260:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9284:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9239:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "9239:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9229:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9312:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9327:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9341:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9331:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9357:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9392:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9403:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9388:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9388:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9412:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9367:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "9367:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9357:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9008:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9019:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9031:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9039:6:5", + "type": "" + } + ], + "src": "8963:474:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9541:124:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9551:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9563:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9574:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9559:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9559:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9551:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9631:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9644:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9655:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9640:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9640:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "9587:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "9587:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9587:71:5" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9513:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9525:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9536:4:5", + "type": "" + } + ], + "src": "9443:222:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9745:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9756:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9772:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9766:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "9766:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9756:6:5" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9728:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9738:6:5", + "type": "" + } + ], + "src": "9671:114:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9902:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9919:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9924:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9912:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "9912:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "9912:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "9940:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9959:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9964:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9955:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "9955:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "9940:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9874:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9879:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "9890:11:5", + "type": "" + } + ], + "src": "9791:184:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10053:60:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10063:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "10071:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10063:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10084:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "10096:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10101:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10092:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10092:14:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10084:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "10040:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "10048:4:5", + "type": "" + } + ], + "src": "9981:132:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10174:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10191:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10214:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "10196:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "10196:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10184:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "10184:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10184:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10162:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10169:3:5", + "type": "" + } + ], + "src": "10119:108:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10313:99:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10357:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10365:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "10323:33:5" + }, + "nodeType": "YulFunctionCall", + "src": "10323:46:5" + }, + "nodeType": "YulExpressionStatement", + "src": "10323:46:5" + }, + { + "nodeType": "YulAssignment", + "src": "10378:28:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10396:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10401:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10392:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10392:14:5" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "10378:10:5" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10286:6:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10294:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "10302:10:5", + "type": "" + } + ], + "src": "10233:179:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10493:38:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10503:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "10515:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10520:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10511:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "10511:14:5" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "10503:4:5" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "10480:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "10488:4:5", + "type": "" + } + ], + "src": "10418:113:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10691:608:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10701:68:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10763:5:5" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10715:47:5" + }, + "nodeType": "YulFunctionCall", + "src": "10715:54:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10705:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10778:93:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10859:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10864:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10785:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "10785:86:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10778:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10880:71:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10945:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10895:49:5" + }, + "nodeType": "YulFunctionCall", + "src": "10895:56:5" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "10884:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10960:21:5", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "10974:7:5" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "10964:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11050:224:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11064:34:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "11091:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11085:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "11085:13:5" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "11068:13:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11111:70:5", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "11162:13:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11177:3:5" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "11118:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "11118:63:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11111:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11194:70:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "11257:6:5" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11204:52:5" + }, + "nodeType": "YulFunctionCall", + "src": "11204:60:5" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "11194:6:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11012:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11015:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11009:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "11009:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "11023:18:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11025:14:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11034:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11037:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11030:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11030:9:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11025:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "10994:14:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10996:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11005:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "11000:1:5", + "type": "" + } + ] + } + ] + }, + "src": "10990:284:5" + }, + { + "nodeType": "YulAssignment", + "src": "11283:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11290:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11283:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10670:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10677:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10686:3:5", + "type": "" + } + ], + "src": "10567:732:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11453:225:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11463:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11475:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11486:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11471:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11471:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11463:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11510:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11521:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11506:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11506:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11529:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11535:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11525:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11525:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11499:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "11499:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11499:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "11555:116:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11657:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11666:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11563:93:5" + }, + "nodeType": "YulFunctionCall", + "src": "11563:108:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11555:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11425:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11437:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11448:4:5", + "type": "" + } + ], + "src": "11305:373:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11794:689:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11840:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "11842:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "11842:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "11842:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11815:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11824:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11811:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11811:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11836:2:5", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11807:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11807:32:5" + }, + "nodeType": "YulIf", + "src": "11804:119:5" + }, + { + "nodeType": "YulBlock", + "src": "11933:287:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11948:45:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11979:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11990:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11975:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "11975:17:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11962:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "11962:31:5" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11952:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12040:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "12042:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "12042:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12042:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12012:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12020:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12009:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "12009:30:5" + }, + "nodeType": "YulIf", + "src": "12006:117:5" + }, + { + "nodeType": "YulAssignment", + "src": "12137:73:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12182:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12193:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12178:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12178:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12202:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12147:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "12147:63:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12137:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12230:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12245:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12259:2:5", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12249:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12275:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12310:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12321:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12306:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12306:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12330:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "12285:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "12285:53:5" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12275:6:5" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12358:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12373:16:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12387:2:5", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12377:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12403:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12438:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12449:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12434:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12434:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12458:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "12413:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "12413:53:5" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12403:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11748:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11759:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11771:6:5", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11779:6:5", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11787:6:5", + "type": "" + } + ], + "src": "11684:799:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12534:81:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12544:65:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12559:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12566:42:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12555:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12555:54:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12544:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12516:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12526:7:5", + "type": "" + } + ], + "src": "12489:126:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12666:51:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12676:35:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12705:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "12687:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "12687:24:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12676:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12648:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12658:7:5", + "type": "" + } + ], + "src": "12621:96:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12788:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12805:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12828:5:5" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "12810:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "12810:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12798:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "12798:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12798:37:5" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12776:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12783:3:5", + "type": "" + } + ], + "src": "12723:118:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12945:124:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12955:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12967:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12978:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12963:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "12963:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12955:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13035:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13048:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13059:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13044:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13044:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "12991:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "12991:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "12991:71:5" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12917:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12929:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12940:4:5", + "type": "" + } + ], + "src": "12847:222:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13103:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13120:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13123:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13113:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13113:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13113:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13217:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13220:4:5", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13210:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13210:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13210:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13241:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13244:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13234:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13234:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13234:15:5" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "13075:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13312:269:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13322:22:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13336:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13342:1:5", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "13332:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13332:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13322:6:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13353:38:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13383:4:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13389:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13379:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13379:12:5" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "13357:18:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13430:51:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13444:27:5", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13458:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13466:4:5", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13454:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13454:17:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13444:6:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "13410:18:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13403:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13403:26:5" + }, + "nodeType": "YulIf", + "src": "13400:81:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13533:42:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "13547:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "13547:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "13547:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "13497:18:5" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13520:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13528:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13517:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "13517:14:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13494:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "13494:38:5" + }, + "nodeType": "YulIf", + "src": "13491:84:5" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "13296:4:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13305:6:5", + "type": "" + } + ], + "src": "13261:320:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13701:34:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13711:18:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13726:3:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "13711:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13673:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13678:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "13689:11:5", + "type": "" + } + ], + "src": "13587:148:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13851:280:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13861:53:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13908:5:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13875:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "13875:39:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13865:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13923:96:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14007:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14012:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "13930:76:5" + }, + "nodeType": "YulFunctionCall", + "src": "13930:89:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13923:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14067:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14074:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14063:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14063:16:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14081:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14086:6:5" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "14028:34:5" + }, + "nodeType": "YulFunctionCall", + "src": "14028:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14028:65:5" + }, + { + "nodeType": "YulAssignment", + "src": "14102:23:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14113:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14118:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14109:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14109:16:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14102:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13832:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13839:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13847:3:5", + "type": "" + } + ], + "src": "13741:390:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14273:139:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14284:102:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14373:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14382:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14291:81:5" + }, + "nodeType": "YulFunctionCall", + "src": "14291:95:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14284:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14396:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14403:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14396:3:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14252:3:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14258:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14269:3:5", + "type": "" + } + ], + "src": "14137:275:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14524:63:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14546:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14554:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14542:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14542:14:5" + }, + { + "hexValue": "4974656d20646f6573206e6f74206578697374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14558:21:5", + "type": "", + "value": "Item does not exist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14535:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "14535:45:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14535:45:5" + } + ] + }, + "name": "store_literal_in_memory_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14516:6:5", + "type": "" + } + ], + "src": "14418:169:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14739:220:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14749:74:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14815:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14820:2:5", + "type": "", + "value": "19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14756:58:5" + }, + "nodeType": "YulFunctionCall", + "src": "14756:67:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14749:3:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14921:3:5" + } + ], + "functionName": { + "name": "store_literal_in_memory_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907", + "nodeType": "YulIdentifier", + "src": "14832:88:5" + }, + "nodeType": "YulFunctionCall", + "src": "14832:93:5" + }, + "nodeType": "YulExpressionStatement", + "src": "14832:93:5" + }, + { + "nodeType": "YulAssignment", + "src": "14934:19:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14945:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14950:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14941:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14941:12:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14934:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14727:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14735:3:5", + "type": "" + } + ], + "src": "14593:366:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15136:248:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15146:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15158:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15169:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15154:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15154:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15146:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15193:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15204:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15189:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15189:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15212:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15218:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15208:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15208:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15182:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15182:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15182:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "15238:139:5", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15372:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15246:124:5" + }, + "nodeType": "YulFunctionCall", + "src": "15246:131:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15238:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15116:9:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15131:4:5", + "type": "" + } + ], + "src": "14965:419:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15418:152:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15435:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15438:77:5", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15428:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15428:88:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15428:88:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15532:1:5", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15535:4:5", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15525:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15525:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15525:15:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15556:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15559:4:5", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15549:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15549:15:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15549:15:5" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "15390:180:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15630:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15640:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "15648:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "15640:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15668:1:5", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "15671:3:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15661:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "15661:14:5" + }, + "nodeType": "YulExpressionStatement", + "src": "15661:14:5" + }, + { + "nodeType": "YulAssignment", + "src": "15684:26:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15702:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15705:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "15692:9:5" + }, + "nodeType": "YulFunctionCall", + "src": "15692:18:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "15684:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "15617:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "15625:4:5", + "type": "" + } + ], + "src": "15576:141:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15767:49:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15777:33:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15795:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15802:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15791:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15791:14:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15807:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "15787:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15787:23:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "15777:6:5" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15750:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "15760:6:5", + "type": "" + } + ], + "src": "15723:93:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15875:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15885:37:5", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "15910:4:5" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15916:5:5" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15906:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "15906:16:5" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "15885:8:5" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "15850:4:5", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15856:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "15866:8:5", + "type": "" + } + ], + "src": "15822:107:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16011:317:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16021:35:5", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nodeType": "YulIdentifier", + "src": "16042:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16054:1:5", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "16038:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16038:18:5" + }, + "variables": [ + { + "name": "shiftBits", + "nodeType": "YulTypedName", + "src": "16025:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16065:109:5", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "16096:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16107:66:5", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "16077:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "16077:97:5" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "16069:4:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16183:51:5", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "16214:9:5" + }, + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "16225:8:5" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "16195:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "16195:39:5" + }, + "variableNames": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "16183:8:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16243:30:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16256:5:5" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "16267:4:5" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "16263:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16263:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "16252:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16252:21:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16243:5:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16282:40:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16295:5:5" + }, + { + "arguments": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "16306:8:5" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "16316:4:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "16302:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "16302:19:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "16292:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "16292:30:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "16282:6:5" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15972:5:5", + "type": "" + }, + { + "name": "shiftBytes", + "nodeType": "YulTypedName", + "src": "15979:10:5", + "type": "" + }, + { + "name": "toInsert", + "nodeType": "YulTypedName", + "src": "15991:8:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "16004:6:5", + "type": "" + } + ], + "src": "15935:393:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16366:28:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16376:12:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16383:5:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "16376:3:5" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16352:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16362:3:5", + "type": "" + } + ], + "src": "16334:60:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16460:82:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16470:66:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16528:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16510:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "16510:24:5" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "16501:8:5" + }, + "nodeType": "YulFunctionCall", + "src": "16501:34:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16483:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "16483:53:5" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "16470:9:5" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16440:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "16450:9:5", + "type": "" + } + ], + "src": "16400:142:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16595:28:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16605:12:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16612:5:5" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "16605:3:5" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16581:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16591:3:5", + "type": "" + } + ], + "src": "16548:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16705:193:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16715:63:5", + "value": { + "arguments": [ + { + "name": "value_0", + "nodeType": "YulIdentifier", + "src": "16770:7:5" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "16739:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "16739:39:5" + }, + "variables": [ + { + "name": "convertedValue_0", + "nodeType": "YulTypedName", + "src": "16719:16:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "16794:4:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "16834:4:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "16828:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "16828:11:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16841:6:5" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nodeType": "YulIdentifier", + "src": "16873:16:5" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nodeType": "YulIdentifier", + "src": "16849:23:5" + }, + "nodeType": "YulFunctionCall", + "src": "16849:41:5" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nodeType": "YulIdentifier", + "src": "16800:27:5" + }, + "nodeType": "YulFunctionCall", + "src": "16800:91:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "16787:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "16787:105:5" + }, + "nodeType": "YulExpressionStatement", + "src": "16787:105:5" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "16682:4:5", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16688:6:5", + "type": "" + }, + { + "name": "value_0", + "nodeType": "YulTypedName", + "src": "16696:7:5", + "type": "" + } + ], + "src": "16629:269:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16953:24:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16963:8:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16970:1:5", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "16963:3:5" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16949:3:5", + "type": "" + } + ], + "src": "16904:73:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17036:136:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17046:46:5", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulIdentifier", + "src": "17060:30:5" + }, + "nodeType": "YulFunctionCall", + "src": "17060:32:5" + }, + "variables": [ + { + "name": "zero_0", + "nodeType": "YulTypedName", + "src": "17050:6:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "17145:4:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17151:6:5" + }, + { + "name": "zero_0", + "nodeType": "YulIdentifier", + "src": "17159:6:5" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "17101:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "17101:65:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17101:65:5" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "17022:4:5", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17028:6:5", + "type": "" + } + ], + "src": "16983:189:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17228:136:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17295:63:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "17339:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17346:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulIdentifier", + "src": "17309:29:5" + }, + "nodeType": "YulFunctionCall", + "src": "17309:39:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17309:39:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "17248:5:5" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17255:3:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "17245:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "17245:14:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "17260:26:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17262:22:5", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "17275:5:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17282:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17271:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17271:13:5" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "17262:5:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "17242:2:5", + "statements": [] + }, + "src": "17238:120:5" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "17216:5:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17223:3:5", + "type": "" + } + ], + "src": "17178:186:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17449:464:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17475:431:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17489:54:5", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17537:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "17505:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "17505:38:5" + }, + "variables": [ + { + "name": "dataArea", + "nodeType": "YulTypedName", + "src": "17493:8:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17556:63:5", + "value": { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "17579:8:5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "17607:10:5" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "17589:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "17589:29:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17575:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17575:44:5" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "17560:11:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17776:27:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17778:23:5", + "value": { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "17793:8:5" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "17778:11:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "17760:10:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17772:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "17757:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "17757:18:5" + }, + "nodeType": "YulIf", + "src": "17754:49:5" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "17845:11:5" + }, + { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "17862:8:5" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "17890:3:5" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "17872:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "17872:22:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17858:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "17858:37:5" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulIdentifier", + "src": "17816:28:5" + }, + "nodeType": "YulFunctionCall", + "src": "17816:80:5" + }, + "nodeType": "YulExpressionStatement", + "src": "17816:80:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "17466:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17471:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17463:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "17463:11:5" + }, + "nodeType": "YulIf", + "src": "17460:446:5" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "17425:5:5", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "17432:3:5", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "17437:10:5", + "type": "" + } + ], + "src": "17370:543:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17982:54:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17992:37:5", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "18017:4:5" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18023:5:5" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "18013:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18013:16:5" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "17992:8:5" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "17957:4:5", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17963:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "17973:8:5", + "type": "" + } + ], + "src": "17919:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18093:118:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18103:68:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18152:1:5", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nodeType": "YulIdentifier", + "src": "18155:5:5" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "18148:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18148:13:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18167:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "18163:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18163:6:5" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulIdentifier", + "src": "18119:28:5" + }, + "nodeType": "YulFunctionCall", + "src": "18119:51:5" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "18115:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18115:56:5" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "18107:4:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18180:25:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "18194:4:5" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "18200:4:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "18190:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18190:15:5" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "18180:6:5" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "18070:4:5", + "type": "" + }, + { + "name": "bytes", + "nodeType": "YulTypedName", + "src": "18076:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "18086:6:5", + "type": "" + } + ], + "src": "18042:169:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18297:214:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18430:37:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "18457:4:5" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "18463:3:5" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "18438:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "18438:29:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "18430:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18476:29:5", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "18487:4:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18497:1:5", + "type": "", + "value": "2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "18500:3:5" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "18493:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "18493:11:5" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "18484:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "18484:21:5" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "18476:4:5" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "18278:4:5", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "18284:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "18292:4:5", + "type": "" + } + ], + "src": "18216:295:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18608:1303:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18619:51:5", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18666:3:5" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "18633:32:5" + }, + "nodeType": "YulFunctionCall", + "src": "18633:37:5" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "18623:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18755:22:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "18757:16:5" + }, + "nodeType": "YulFunctionCall", + "src": "18757:18:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18757:18:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18727:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18735:18:5", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18724:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "18724:30:5" + }, + "nodeType": "YulIf", + "src": "18721:56:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18787:52:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "18833:4:5" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "18827:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "18827:11:5" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "18801:25:5" + }, + "nodeType": "YulFunctionCall", + "src": "18801:38:5" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "18791:6:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "18932:4:5" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "18938:6:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "18946:6:5" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "18886:45:5" + }, + "nodeType": "YulFunctionCall", + "src": "18886:67:5" + }, + "nodeType": "YulExpressionStatement", + "src": "18886:67:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18963:18:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18980:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "18967:9:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18991:17:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19004:4:5", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "18991:9:5" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "19055:611:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19069:37:5", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19088:6:5" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19100:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "19096:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19096:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19084:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19084:22:5" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "19073:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19120:51:5", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19166:4:5" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "19134:31:5" + }, + "nodeType": "YulFunctionCall", + "src": "19134:37:5" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "19124:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19184:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19193:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "19188:1:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19252:163:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "19277:6:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19295:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "19300:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19291:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19291:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19285:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "19285:26:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19270:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19270:42:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19270:42:5" + }, + { + "nodeType": "YulAssignment", + "src": "19329:24:5", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "19343:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19351:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19339:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19339:14:5" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "19329:6:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19370:31:5", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "19387:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19398:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19383:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19383:18:5" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "19370:9:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "19218:1:5" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "19221:7:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "19215:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "19215:14:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "19230:21:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19232:17:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "19241:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19244:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19237:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19237:12:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "19232:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "19211:3:5", + "statements": [] + }, + "src": "19207:208:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19451:156:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19469:43:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19496:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "19501:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19492:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19492:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19486:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "19486:26:5" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "19473:9:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "19536:6:5" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "19563:9:5" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19578:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19586:4:5", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19574:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19574:17:5" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "19544:18:5" + }, + "nodeType": "YulFunctionCall", + "src": "19544:48:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19529:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19529:64:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19529:64:5" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "19434:7:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19443:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "19431:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "19431:19:5" + }, + "nodeType": "YulIf", + "src": "19428:179:5" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19627:4:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19641:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19649:1:5", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "19637:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19637:14:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19653:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19633:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19633:22:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19620:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19620:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19620:36:5" + } + ] + }, + "nodeType": "YulCase", + "src": "19048:618:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19053:1:5", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19683:222:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19697:14:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19710:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19701:5:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19734:67:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19752:35:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19771:3:5" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "19776:9:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19767:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "19767:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19761:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "19761:26:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19752:5:5" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19727:6:5" + }, + "nodeType": "YulIf", + "src": "19724:77:5" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "19821:4:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19880:5:5" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19887:6:5" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "19827:52:5" + }, + "nodeType": "YulFunctionCall", + "src": "19827:67:5" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "19814:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "19814:81:5" + }, + "nodeType": "YulExpressionStatement", + "src": "19814:81:5" + } + ] + }, + "nodeType": "YulCase", + "src": "19675:230:5", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "19028:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19036:2:5", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19025:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "19025:14:5" + }, + "nodeType": "YulSwitch", + "src": "19018:887:5" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "18597:4:5", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "18603:3:5", + "type": "" + } + ], + "src": "18516:1395:5" + } + ] + }, + "contents": "{\n\n function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(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_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[] -> string[]\n function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function 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 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 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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function 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_string_memory_ptr_t_uint256_t_uint256_t_bool__to_t_string_memory_ptr_t_uint256_t_uint256_t_bool__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bool_to_t_bool_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907(memPtr) {\n\n mstore(add(memPtr, 0), \"Item does not exist\")\n\n }\n\n function abi_encode_t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", + "id": 5, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "66:1757:3:-:0;;;377:50;;;;;;;;;;409:10;401:5;;:18;;;;;;;;;;;;;;;;;;66:1757;;;;;;", + "deployedSourceMap": "66:1757:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;945:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;261:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1313:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;219:35;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;1048:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;318:25;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1556:264;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;290:21;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;601:336;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;350:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1457:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;945:95;992:16;1027:5;1020:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;945:95;:::o;261:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1313:136::-;1394:4;1367;533:10;544:4;533:16;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;525:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;1418:4:::1;1423;1418:10;;;;;;:::i;:::-;;;;;;;;;;;;;:23;;;;;;;;;;;;1411:30;;1313:136:::0;;;;:::o;219:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1048:84::-;1121:3;1107:10;1118:1;1107:13;;;;;;;;:::i;:::-;;;;;;;;;:17;;;;1048:84;;:::o;318:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1556:264::-;1603:14;1802:10;1795:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1556:264;:::o;290:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;601:336::-;679:5;690:4;679:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;706:6;718:5;706:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;735:10;751:3;735:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;782:4;766;771;766:10;;;;;;:::i;:::-;;;;;;;;;;;;;:15;;:20;;;;;;:::i;:::-;;814:5;797:4;802;797:10;;;;;;:::i;:::-;;;;;;;;;;;;;:16;;:22;;;;850:3;830:4;835;830:10;;;;;;:::i;:::-;;;;;;;;;;;;;:19;;:23;;;;894:1;888:3;:7;864:4;869;864:10;;;;;;:::i;:::-;;;;;;;;;;;;;:23;;;:31;;;;;;;;;;;;;;;;;;925:4;906:10;917:4;906:16;;;;;;:::i;:::-;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;601:336;;;:::o;350:20::-;;;;;;;;;;;;;:::o;1457:91::-;1501:14;1534:6;1527:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:91;:::o;7:124:5:-;84:6;118:5;112:12;102:22;;7:124;;;:::o;137:194::-;246:11;280:6;275:3;268:19;320:4;315:3;311:14;296:29;;137:194;;;;:::o;337:142::-;414:4;437:3;429:11;;467:4;462:3;458:14;450:22;;337:142;;;:::o;485:99::-;537:6;571:5;565:12;555:22;;485:99;;;:::o;590:159::-;664:11;698:6;693:3;686:19;738:4;733:3;729:14;714:29;;590:159;;;;:::o;755:246::-;836:1;846:113;860:6;857:1;854:13;846:113;;;945:1;940:3;936:11;930:18;926:1;921:3;917:11;910:39;882:2;879:1;875:10;870:15;;846:113;;;993:1;984:6;979:3;975:16;968:27;817:184;755:246;;;:::o;1007:102::-;1048:6;1099:2;1095:7;1090:2;1083:5;1079:14;1075:28;1065:38;;1007:102;;;:::o;1115:357::-;1193:3;1221:39;1254:5;1221:39;:::i;:::-;1276:61;1330:6;1325:3;1276:61;:::i;:::-;1269:68;;1346:65;1404:6;1399:3;1392:4;1385:5;1381:16;1346:65;:::i;:::-;1436:29;1458:6;1436:29;:::i;:::-;1431:3;1427:39;1420:46;;1197:275;1115:357;;;;:::o;1478:196::-;1567:10;1602:66;1664:3;1656:6;1602:66;:::i;:::-;1588:80;;1478:196;;;;:::o;1680:123::-;1760:4;1792;1787:3;1783:14;1775:22;;1680:123;;;:::o;1837:991::-;1976:3;2005:64;2063:5;2005:64;:::i;:::-;2085:96;2174:6;2169:3;2085:96;:::i;:::-;2078:103;;2207:3;2252:4;2244:6;2240:17;2235:3;2231:27;2282:66;2342:5;2282:66;:::i;:::-;2371:7;2402:1;2387:396;2412:6;2409:1;2406:13;2387:396;;;2483:9;2477:4;2473:20;2468:3;2461:33;2534:6;2528:13;2562:84;2641:4;2626:13;2562:84;:::i;:::-;2554:92;;2669:70;2732:6;2669:70;:::i;:::-;2659:80;;2768:4;2763:3;2759:14;2752:21;;2447:336;2434:1;2431;2427:9;2422:14;;2387:396;;;2391:14;2799:4;2792:11;;2819:3;2812:10;;1981:847;;;;;1837:991;;;;:::o;2834:413::-;2997:4;3035:2;3024:9;3020:18;3012:26;;3084:9;3078:4;3074:20;3070:1;3059:9;3055:17;3048:47;3112:128;3235:4;3226:6;3112:128;:::i;:::-;3104:136;;2834:413;;;;:::o;3253:75::-;3286:6;3319:2;3313:9;3303:19;;3253:75;:::o;3334:117::-;3443:1;3440;3433:12;3457:117;3566:1;3563;3556:12;3580:77;3617:7;3646:5;3635:16;;3580:77;;;:::o;3663:122::-;3736:24;3754:5;3736:24;:::i;:::-;3729:5;3726:35;3716:63;;3775:1;3772;3765:12;3716:63;3663:122;:::o;3791:139::-;3837:5;3875:6;3862:20;3853:29;;3891:33;3918:5;3891:33;:::i;:::-;3791:139;;;;:::o;3936:329::-;3995:6;4044:2;4032:9;4023:7;4019:23;4015:32;4012:119;;;4050:79;;:::i;:::-;4012:119;4170:1;4195:53;4240:7;4231:6;4220:9;4216:22;4195:53;:::i;:::-;4185:63;;4141:117;3936:329;;;;:::o;4271:169::-;4355:11;4389:6;4384:3;4377:19;4429:4;4424:3;4420:14;4405:29;;4271:169;;;;:::o;4446:377::-;4534:3;4562:39;4595:5;4562:39;:::i;:::-;4617:71;4681:6;4676:3;4617:71;:::i;:::-;4610:78;;4697:65;4755:6;4750:3;4743:4;4736:5;4732:16;4697:65;:::i;:::-;4787:29;4809:6;4787:29;:::i;:::-;4782:3;4778:39;4771:46;;4538:285;4446:377;;;;:::o;4829:313::-;4942:4;4980:2;4969:9;4965:18;4957:26;;5029:9;5023:4;5019:20;5015:1;5004:9;5000:17;4993:47;5057:78;5130:4;5121:6;5057:78;:::i;:::-;5049:86;;4829:313;;;;:::o;5148:117::-;5257:1;5254;5247:12;5271:117;5380:1;5377;5370:12;5394:180;5442:77;5439:1;5432:88;5539:4;5536:1;5529:15;5563:4;5560:1;5553:15;5580:281;5663:27;5685:4;5663:27;:::i;:::-;5655:6;5651:40;5793:6;5781:10;5778:22;5757:18;5745:10;5742:34;5739:62;5736:88;;;5804:18;;:::i;:::-;5736:88;5844:10;5840:2;5833:22;5623:238;5580:281;;:::o;5867:129::-;5901:6;5928:20;;:::i;:::-;5918:30;;5957:33;5985:4;5977:6;5957:33;:::i;:::-;5867:129;;;:::o;6002:308::-;6064:4;6154:18;6146:6;6143:30;6140:56;;;6176:18;;:::i;:::-;6140:56;6214:29;6236:6;6214:29;:::i;:::-;6206:37;;6298:4;6292;6288:15;6280:23;;6002:308;;;:::o;6316:146::-;6413:6;6408:3;6403;6390:30;6454:1;6445:6;6440:3;6436:16;6429:27;6316:146;;;:::o;6468:425::-;6546:5;6571:66;6587:49;6629:6;6587:49;:::i;:::-;6571:66;:::i;:::-;6562:75;;6660:6;6653:5;6646:21;6698:4;6691:5;6687:16;6736:3;6727:6;6722:3;6718:16;6715:25;6712:112;;;6743:79;;:::i;:::-;6712:112;6833:54;6880:6;6875:3;6870;6833:54;:::i;:::-;6552:341;6468:425;;;;;:::o;6913:340::-;6969:5;7018:3;7011:4;7003:6;6999:17;6995:27;6985:122;;7026:79;;:::i;:::-;6985:122;7143:6;7130:20;7168:79;7243:3;7235:6;7228:4;7220:6;7216:17;7168:79;:::i;:::-;7159:88;;6975:278;6913:340;;;;:::o;7259:509::-;7328:6;7377:2;7365:9;7356:7;7352:23;7348:32;7345:119;;;7383:79;;:::i;:::-;7345:119;7531:1;7520:9;7516:17;7503:31;7561:18;7553:6;7550:30;7547:117;;;7583:79;;:::i;:::-;7547:117;7688:63;7743:7;7734:6;7723:9;7719:22;7688:63;:::i;:::-;7678:73;;7474:287;7259:509;;;;:::o;7774:90::-;7808:7;7851:5;7844:13;7837:21;7826:32;;7774:90;;;:::o;7870:109::-;7951:21;7966:5;7951:21;:::i;:::-;7946:3;7939:34;7870:109;;:::o;7985:210::-;8072:4;8110:2;8099:9;8095:18;8087:26;;8123:65;8185:1;8174:9;8170:17;8161:6;8123:65;:::i;:::-;7985:210;;;;:::o;8201:118::-;8288:24;8306:5;8288:24;:::i;:::-;8283:3;8276:37;8201:118;;:::o;8325:632::-;8516:4;8554:3;8543:9;8539:19;8531:27;;8604:9;8598:4;8594:20;8590:1;8579:9;8575:17;8568:47;8632:78;8705:4;8696:6;8632:78;:::i;:::-;8624:86;;8720:72;8788:2;8777:9;8773:18;8764:6;8720:72;:::i;:::-;8802;8870:2;8859:9;8855:18;8846:6;8802:72;:::i;:::-;8884:66;8946:2;8935:9;8931:18;8922:6;8884:66;:::i;:::-;8325:632;;;;;;;:::o;8963:474::-;9031:6;9039;9088:2;9076:9;9067:7;9063:23;9059:32;9056:119;;;9094:79;;:::i;:::-;9056:119;9214:1;9239:53;9284:7;9275:6;9264:9;9260:22;9239:53;:::i;:::-;9229:63;;9185:117;9341:2;9367:53;9412:7;9403:6;9392:9;9388:22;9367:53;:::i;:::-;9357:63;;9312:118;8963:474;;;;;:::o;9443:222::-;9536:4;9574:2;9563:9;9559:18;9551:26;;9587:71;9655:1;9644:9;9640:17;9631:6;9587:71;:::i;:::-;9443:222;;;;:::o;9671:114::-;9738:6;9772:5;9766:12;9756:22;;9671:114;;;:::o;9791:184::-;9890:11;9924:6;9919:3;9912:19;9964:4;9959:3;9955:14;9940:29;;9791:184;;;;:::o;9981:132::-;10048:4;10071:3;10063:11;;10101:4;10096:3;10092:14;10084:22;;9981:132;;;:::o;10119:108::-;10196:24;10214:5;10196:24;:::i;:::-;10191:3;10184:37;10119:108;;:::o;10233:179::-;10302:10;10323:46;10365:3;10357:6;10323:46;:::i;:::-;10401:4;10396:3;10392:14;10378:28;;10233:179;;;;:::o;10418:113::-;10488:4;10520;10515:3;10511:14;10503:22;;10418:113;;;:::o;10567:732::-;10686:3;10715:54;10763:5;10715:54;:::i;:::-;10785:86;10864:6;10859:3;10785:86;:::i;:::-;10778:93;;10895:56;10945:5;10895:56;:::i;:::-;10974:7;11005:1;10990:284;11015:6;11012:1;11009:13;10990:284;;;11091:6;11085:13;11118:63;11177:3;11162:13;11118:63;:::i;:::-;11111:70;;11204:60;11257:6;11204:60;:::i;:::-;11194:70;;11050:224;11037:1;11034;11030:9;11025:14;;10990:284;;;10994:14;11290:3;11283:10;;10691:608;;;10567:732;;;;:::o;11305:373::-;11448:4;11486:2;11475:9;11471:18;11463:26;;11535:9;11529:4;11525:20;11521:1;11510:9;11506:17;11499:47;11563:108;11666:4;11657:6;11563:108;:::i;:::-;11555:116;;11305:373;;;;:::o;11684:799::-;11771:6;11779;11787;11836:2;11824:9;11815:7;11811:23;11807:32;11804:119;;;11842:79;;:::i;:::-;11804:119;11990:1;11979:9;11975:17;11962:31;12020:18;12012:6;12009:30;12006:117;;;12042:79;;:::i;:::-;12006:117;12147:63;12202:7;12193:6;12182:9;12178:22;12147:63;:::i;:::-;12137:73;;11933:287;12259:2;12285:53;12330:7;12321:6;12310:9;12306:22;12285:53;:::i;:::-;12275:63;;12230:118;12387:2;12413:53;12458:7;12449:6;12438:9;12434:22;12413:53;:::i;:::-;12403:63;;12358:118;11684:799;;;;;:::o;12489:126::-;12526:7;12566:42;12559:5;12555:54;12544:65;;12489:126;;;:::o;12621:96::-;12658:7;12687:24;12705:5;12687:24;:::i;:::-;12676:35;;12621:96;;;:::o;12723:118::-;12810:24;12828:5;12810:24;:::i;:::-;12805:3;12798:37;12723:118;;:::o;12847:222::-;12940:4;12978:2;12967:9;12963:18;12955:26;;12991:71;13059:1;13048:9;13044:17;13035:6;12991:71;:::i;:::-;12847:222;;;;:::o;13075:180::-;13123:77;13120:1;13113:88;13220:4;13217:1;13210:15;13244:4;13241:1;13234:15;13261:320;13305:6;13342:1;13336:4;13332:12;13322:22;;13389:1;13383:4;13379:12;13410:18;13400:81;;13466:4;13458:6;13454:17;13444:27;;13400:81;13528:2;13520:6;13517:14;13497:18;13494:38;13491:84;;13547:18;;:::i;:::-;13491:84;13312:269;13261:320;;;:::o;13587:148::-;13689:11;13726:3;13711:18;;13587:148;;;;:::o;13741:390::-;13847:3;13875:39;13908:5;13875:39;:::i;:::-;13930:89;14012:6;14007:3;13930:89;:::i;:::-;13923:96;;14028:65;14086:6;14081:3;14074:4;14067:5;14063:16;14028:65;:::i;:::-;14118:6;14113:3;14109:16;14102:23;;13851:280;13741:390;;;;:::o;14137:275::-;14269:3;14291:95;14382:3;14373:6;14291:95;:::i;:::-;14284:102;;14403:3;14396:10;;14137:275;;;;:::o;14418:169::-;14558:21;14554:1;14546:6;14542:14;14535:45;14418:169;:::o;14593:366::-;14735:3;14756:67;14820:2;14815:3;14756:67;:::i;:::-;14749:74;;14832:93;14921:3;14832:93;:::i;:::-;14950:2;14945:3;14941:12;14934:19;;14593:366;;;:::o;14965:419::-;15131:4;15169:2;15158:9;15154:18;15146:26;;15218:9;15212:4;15208:20;15204:1;15193:9;15189:17;15182:47;15246:131;15372:4;15246:131;:::i;:::-;15238:139;;14965:419;;;:::o;15390:180::-;15438:77;15435:1;15428:88;15535:4;15532:1;15525:15;15559:4;15556:1;15549:15;15576:141;15625:4;15648:3;15640:11;;15671:3;15668:1;15661:14;15705:4;15702:1;15692:18;15684:26;;15576:141;;;:::o;15723:93::-;15760:6;15807:2;15802;15795:5;15791:14;15787:23;15777:33;;15723:93;;;:::o;15822:107::-;15866:8;15916:5;15910:4;15906:16;15885:37;;15822:107;;;;:::o;15935:393::-;16004:6;16054:1;16042:10;16038:18;16077:97;16107:66;16096:9;16077:97;:::i;:::-;16195:39;16225:8;16214:9;16195:39;:::i;:::-;16183:51;;16267:4;16263:9;16256:5;16252:21;16243:30;;16316:4;16306:8;16302:19;16295:5;16292:30;16282:40;;16011:317;;15935:393;;;;;:::o;16334:60::-;16362:3;16383:5;16376:12;;16334:60;;;:::o;16400:142::-;16450:9;16483:53;16501:34;16510:24;16528:5;16510:24;:::i;:::-;16501:34;:::i;:::-;16483:53;:::i;:::-;16470:66;;16400:142;;;:::o;16548:75::-;16591:3;16612:5;16605:12;;16548:75;;;:::o;16629:269::-;16739:39;16770:7;16739:39;:::i;:::-;16800:91;16849:41;16873:16;16849:41;:::i;:::-;16841:6;16834:4;16828:11;16800:91;:::i;:::-;16794:4;16787:105;16705:193;16629:269;;;:::o;16904:73::-;16949:3;16904:73;:::o;16983:189::-;17060:32;;:::i;:::-;17101:65;17159:6;17151;17145:4;17101:65;:::i;:::-;17036:136;16983:189;;:::o;17178:186::-;17238:120;17255:3;17248:5;17245:14;17238:120;;;17309:39;17346:1;17339:5;17309:39;:::i;:::-;17282:1;17275:5;17271:13;17262:22;;17238:120;;;17178:186;;:::o;17370:543::-;17471:2;17466:3;17463:11;17460:446;;;17505:38;17537:5;17505:38;:::i;:::-;17589:29;17607:10;17589:29;:::i;:::-;17579:8;17575:44;17772:2;17760:10;17757:18;17754:49;;;17793:8;17778:23;;17754:49;17816:80;17872:22;17890:3;17872:22;:::i;:::-;17862:8;17858:37;17845:11;17816:80;:::i;:::-;17475:431;;17460:446;17370:543;;;:::o;17919:117::-;17973:8;18023:5;18017:4;18013:16;17992:37;;17919:117;;;;:::o;18042:169::-;18086:6;18119:51;18167:1;18163:6;18155:5;18152:1;18148:13;18119:51;:::i;:::-;18115:56;18200:4;18194;18190:15;18180:25;;18093:118;18042:169;;;;:::o;18216:295::-;18292:4;18438:29;18463:3;18457:4;18438:29;:::i;:::-;18430:37;;18500:3;18497:1;18493:11;18487:4;18484:21;18476:29;;18216:295;;;;:::o;18516:1395::-;18633:37;18666:3;18633:37;:::i;:::-;18735:18;18727:6;18724:30;18721:56;;;18757:18;;:::i;:::-;18721:56;18801:38;18833:4;18827:11;18801:38;:::i;:::-;18886:67;18946:6;18938;18932:4;18886:67;:::i;:::-;18980:1;19004:4;18991:17;;19036:2;19028:6;19025:14;19053:1;19048:618;;;;19710:1;19727:6;19724:77;;;19776:9;19771:3;19767:19;19761:26;19752:35;;19724:77;19827:67;19887:6;19880:5;19827:67;:::i;:::-;19821:4;19814:81;19683:222;19018:887;;19048:618;19100:4;19096:9;19088:6;19084:22;19134:37;19166:4;19134:37;:::i;:::-;19193:1;19207:208;19221:7;19218:1;19215:14;19207:208;;;19300:9;19295:3;19291:19;19285:26;19277:6;19270:42;19351:1;19343:6;19339:14;19329:24;;19398:2;19387:9;19383:18;19370:31;;19244:4;19241:1;19237:12;19232:17;;19207:208;;;19443:6;19434:7;19431:19;19428:179;;;19501:9;19496:3;19492:19;19486:26;19544:48;19586:4;19578:6;19574:17;19563:9;19544:48;:::i;:::-;19536:6;19529:64;19451:156;19428:179;19653:1;19649;19641:6;19637:14;19633:22;19627:4;19620:36;19055:611;;;19018:887;;18608:1303;;;18516:1395;;:::o", + "source": "//SPDX-License-Identifier:MIT\r\npragma solidity >=0.8.10 <0.8.20;\r\ncontract menuManagement{\r\n struct Item {\r\n string name;\r\n uint price; \r\n uint quantity; \r\n bool availability;\r\n }\r\n mapping (string => Item)public itms;\r\n string [] public names;\r\n uint [] public prices;\r\n uint [] public quantities;\r\n address public admin;\r\n constructor(){\r\n admin = msg.sender;\r\n }\r\n\r\n mapping(string => bool) itemExists;\r\n\r\n modifier exists(string memory name) {\r\n require(itemExists[name], \"Item does not exist\");\r\n _;\r\n }\r\n\r\n function addItem(string memory name , uint price, uint qty) public {\r\n names.push(name);\r\n prices.push(price);\r\n quantities.push(qty);\r\n itms[name].name=name;\r\n itms[name].price=price;\r\n itms[name].quantity=qty;\r\n itms[name].availability=qty > 0;\r\n itemExists[name] = true;\r\n }\r\n\r\n function getItemNames() external view returns (string [] memory){\r\n return names;\r\n }\r\n\r\n function setQuantity(uint qty , uint i) external{\r\n quantities[i]=qty;\r\n }\r\n\r\n function UpdatePrice(string memory name, uint price) private exists(name) {\r\n require(price > 0, \"Price cannot be 0\");\r\n itms[name].price=price;\r\n }\r\n\r\n function CheckAvailability(string memory name) exists(name) public view returns (bool) {\r\n return itms[name].availability;\r\n }\r\n\r\n function getMenuPrice() public view returns(uint [] memory){\r\n return prices;\r\n }\r\n\r\n function getMenuQuantity() public view returns(uint [] memory){\r\n /*uint [] memory qty1 = new uint[](1000);\r\n for (uint i = 0 ; i < names.length ; i++){ \r\n qty1[i] = itms[names[i]].quantity; \r\n }*/\r\n return quantities;\r\n }\r\n}", + "sourcePath": "/home/awais/Downloads/Project2/contracts/menuManagement.sol", + "ast": { + "absolutePath": "project:/contracts/menuManagement.sol", + "exportedSymbols": { + "menuManagement": [ + 1147 + ] + }, + "id": 1148, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 949, + "literals": [ + "solidity", + ">=", + "0.8", + ".10", + "<", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:33:3" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "menuManagement", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1147, + "linearizedBaseContracts": [ + 1147 + ], + "name": "menuManagement", + "nameLocation": "75:14:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "menuManagement.Item", + "id": 958, + "members": [ + { + "constant": false, + "id": 951, + "mutability": "mutable", + "name": "name", + "nameLocation": "126:4:3", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "119:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 950, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "119:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 953, + "mutability": "mutable", + "name": "price", + "nameLocation": "146:5:3", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "141:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 952, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "141:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 955, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "168:8:3", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "163:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 954, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "163:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 957, + "mutability": "mutable", + "name": "availability", + "nameLocation": "193:12:3", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "188:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 956, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "188:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "Item", + "nameLocation": "103:4:3", + "nodeType": "StructDefinition", + "scope": 1147, + "src": "96:117:3", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "8aa0fc10", + "id": 963, + "mutability": "mutable", + "name": "itms", + "nameLocation": "250:4:3", + "nodeType": "VariableDeclaration", + "scope": 1147, + "src": "219:35:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string => struct menuManagement.Item)" + }, + "typeName": { + "id": 962, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 959, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "228:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "219:24:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string => struct menuManagement.Item)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 961, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 960, + "name": "Item", + "nameLocations": [ + "238:4:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 958, + "src": "238:4:3" + }, + "referencedDeclaration": 958, + "src": "238:4:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage_ptr", + "typeString": "struct menuManagement.Item" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "4622ab03", + "id": 966, + "mutability": "mutable", + "name": "names", + "nameLocation": "278:5:3", + "nodeType": "VariableDeclaration", + "scope": 1147, + "src": "261:22:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 964, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "261:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 965, + "nodeType": "ArrayTypeName", + "src": "261:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "bc31c1c1", + "id": 969, + "mutability": "mutable", + "name": "prices", + "nameLocation": "305:6:3", + "nodeType": "VariableDeclaration", + "scope": 1147, + "src": "290:21:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 967, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "290:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 968, + "nodeType": "ArrayTypeName", + "src": "290:7:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "a4125403", + "id": 972, + "mutability": "mutable", + "name": "quantities", + "nameLocation": "333:10:3", + "nodeType": "VariableDeclaration", + "scope": 1147, + "src": "318:25:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 970, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "318:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 971, + "nodeType": "ArrayTypeName", + "src": "318:7:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "f851a440", + "id": 974, + "mutability": "mutable", + "name": "admin", + "nameLocation": "365:5:3", + "nodeType": "VariableDeclaration", + "scope": 1147, + "src": "350:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 973, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "350:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 982, + "nodeType": "Block", + "src": "390:37:3", + "statements": [ + { + "expression": { + "id": 980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 977, + "name": "admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 974, + "src": "401:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 978, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "409:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "413:6:3", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "409:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "401:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 981, + "nodeType": "ExpressionStatement", + "src": "401:18:3" + } + ] + }, + "id": 983, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 975, + "nodeType": "ParameterList", + "parameters": [], + "src": "388:2:3" + }, + "returnParameters": { + "id": 976, + "nodeType": "ParameterList", + "parameters": [], + "src": "390:0:3" + }, + "scope": 1147, + "src": "377:50:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "constant": false, + "id": 987, + "mutability": "mutable", + "name": "itemExists", + "nameLocation": "459:10:3", + "nodeType": "VariableDeclaration", + "scope": 1147, + "src": "435:34:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string => bool)" + }, + "typeName": { + "id": 986, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 984, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "443:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "435:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 985, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "453:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 999, + "nodeType": "Block", + "src": "514:79:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 992, + "name": "itemExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "533:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string memory => bool)" + } + }, + "id": 994, + "indexExpression": { + "id": 993, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 989, + "src": "544:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "533:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4974656d20646f6573206e6f74206578697374", + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "551:21:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907", + "typeString": "literal_string \"Item does not exist\"" + }, + "value": "Item does not exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ce0a686b3a77d89aa203ef1917c5a461c03ae6389a02bb3c3b9a97959d623907", + "typeString": "literal_string \"Item does not exist\"" + } + ], + "id": 991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "525:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "525:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 997, + "nodeType": "ExpressionStatement", + "src": "525:48:3" + }, + { + "id": 998, + "nodeType": "PlaceholderStatement", + "src": "584:1:3" + } + ] + }, + "id": 1000, + "name": "exists", + "nameLocation": "487:6:3", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 989, + "mutability": "mutable", + "name": "name", + "nameLocation": "508:4:3", + "nodeType": "VariableDeclaration", + "scope": 1000, + "src": "494:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 988, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "494:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "493:20:3" + }, + "src": "478:115:3", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1063, + "nodeType": "Block", + "src": "668:269:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1012, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "690:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1009, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "679:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "685:4:3", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "679:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$", + "typeString": "function (string storage ref[] storage pointer,string storage ref)" + } + }, + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "679:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1014, + "nodeType": "ExpressionStatement", + "src": "679:16:3" + }, + { + "expression": { + "arguments": [ + { + "id": 1018, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1004, + "src": "718:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1015, + "name": "prices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "706:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 1017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "713:4:3", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "706:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256)" + } + }, + "id": 1019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "706:18:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1020, + "nodeType": "ExpressionStatement", + "src": "706:18:3" + }, + { + "expression": { + "arguments": [ + { + "id": 1024, + "name": "qty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1006, + "src": "751:3:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1021, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "735:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "746:4:3", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "735:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256)" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "735:20:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1026, + "nodeType": "ExpressionStatement", + "src": "735:20:3" + }, + { + "expression": { + "id": 1032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1027, + "name": "itms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "766:4:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string memory => struct menuManagement.Item storage ref)" + } + }, + "id": 1029, + "indexExpression": { + "id": 1028, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "771:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "766:10:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage", + "typeString": "struct menuManagement.Item storage ref" + } + }, + "id": 1030, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "777:4:3", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 951, + "src": "766:15:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1031, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "782:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "766:20:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1033, + "nodeType": "ExpressionStatement", + "src": "766:20:3" + }, + { + "expression": { + "id": 1039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1034, + "name": "itms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "797:4:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string memory => struct menuManagement.Item storage ref)" + } + }, + "id": 1036, + "indexExpression": { + "id": 1035, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "802:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "797:10:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage", + "typeString": "struct menuManagement.Item storage ref" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "808:5:3", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 953, + "src": "797:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1038, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1004, + "src": "814:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "797:22:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1040, + "nodeType": "ExpressionStatement", + "src": "797:22:3" + }, + { + "expression": { + "id": 1046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1041, + "name": "itms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "830:4:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string memory => struct menuManagement.Item storage ref)" + } + }, + "id": 1043, + "indexExpression": { + "id": 1042, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "835:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "830:10:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage", + "typeString": "struct menuManagement.Item storage ref" + } + }, + "id": 1044, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "841:8:3", + "memberName": "quantity", + "nodeType": "MemberAccess", + "referencedDeclaration": 955, + "src": "830:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1045, + "name": "qty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1006, + "src": "850:3:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "830:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1047, + "nodeType": "ExpressionStatement", + "src": "830:23:3" + }, + { + "expression": { + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1048, + "name": "itms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "864:4:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string memory => struct menuManagement.Item storage ref)" + } + }, + "id": 1050, + "indexExpression": { + "id": 1049, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "869:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "864:10:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage", + "typeString": "struct menuManagement.Item storage ref" + } + }, + "id": 1051, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "875:12:3", + "memberName": "availability", + "nodeType": "MemberAccess", + "referencedDeclaration": 957, + "src": "864:23:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1052, + "name": "qty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1006, + "src": "888:3:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "894:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "888:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "864:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1056, + "nodeType": "ExpressionStatement", + "src": "864:31:3" + }, + { + "expression": { + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1057, + "name": "itemExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "906:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string memory => bool)" + } + }, + "id": 1059, + "indexExpression": { + "id": 1058, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1002, + "src": "917:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "906:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "925:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "906:23:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1062, + "nodeType": "ExpressionStatement", + "src": "906:23:3" + } + ] + }, + "functionSelector": "d5e6c333", + "id": 1064, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addItem", + "nameLocation": "610:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1002, + "mutability": "mutable", + "name": "name", + "nameLocation": "632:4:3", + "nodeType": "VariableDeclaration", + "scope": 1064, + "src": "618:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1001, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "618:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1004, + "mutability": "mutable", + "name": "price", + "nameLocation": "644:5:3", + "nodeType": "VariableDeclaration", + "scope": 1064, + "src": "639:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1003, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "639:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1006, + "mutability": "mutable", + "name": "qty", + "nameLocation": "656:3:3", + "nodeType": "VariableDeclaration", + "scope": 1064, + "src": "651:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1005, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "651:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "617:43:3" + }, + "returnParameters": { + "id": 1008, + "nodeType": "ParameterList", + "parameters": [], + "src": "668:0:3" + }, + "scope": 1147, + "src": "601:336:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1072, + "nodeType": "Block", + "src": "1009:31:3", + "statements": [ + { + "expression": { + "id": 1070, + "name": "names", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "1027:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "functionReturnParameters": 1069, + "id": 1071, + "nodeType": "Return", + "src": "1020:12:3" + } + ] + }, + "functionSelector": "13bc8510", + "id": 1073, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getItemNames", + "nameLocation": "954:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1065, + "nodeType": "ParameterList", + "parameters": [], + "src": "966:2:3" + }, + "returnParameters": { + "id": 1069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1068, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "992:16:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 1066, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "992:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 1067, + "nodeType": "ArrayTypeName", + "src": "992:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "991:18:3" + }, + "scope": 1147, + "src": "945:95:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1086, + "nodeType": "Block", + "src": "1096:36:3", + "statements": [ + { + "expression": { + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1080, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "1107:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 1082, + "indexExpression": { + "id": 1081, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1077, + "src": "1118:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1107:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1083, + "name": "qty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1075, + "src": "1121:3:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1107:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1085, + "nodeType": "ExpressionStatement", + "src": "1107:17:3" + } + ] + }, + "functionSelector": "9405c78f", + "id": 1087, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setQuantity", + "nameLocation": "1057:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1075, + "mutability": "mutable", + "name": "qty", + "nameLocation": "1074:3:3", + "nodeType": "VariableDeclaration", + "scope": 1087, + "src": "1069:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1074, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1069:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1077, + "mutability": "mutable", + "name": "i", + "nameLocation": "1085:1:3", + "nodeType": "VariableDeclaration", + "scope": 1087, + "src": "1080:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1076, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1080:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1068:19:3" + }, + "returnParameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [], + "src": "1096:0:3" + }, + "scope": 1147, + "src": "1048:84:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1111, + "nodeType": "Block", + "src": "1214:91:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1098, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "1233:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1241:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1233:9:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50726963652063616e6e6f742062652030", + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1244:19:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1775cd488392ef28ae55d62b36e4f957914db6409d09dc498aaa2f5c7fa8cb80", + "typeString": "literal_string \"Price cannot be 0\"" + }, + "value": "Price cannot be 0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1775cd488392ef28ae55d62b36e4f957914db6409d09dc498aaa2f5c7fa8cb80", + "typeString": "literal_string \"Price cannot be 0\"" + } + ], + "id": 1097, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1225:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1225:39:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1103, + "nodeType": "ExpressionStatement", + "src": "1225:39:3" + }, + { + "expression": { + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1104, + "name": "itms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "1275:4:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string memory => struct menuManagement.Item storage ref)" + } + }, + "id": 1106, + "indexExpression": { + "id": 1105, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "1280:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1275:10:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage", + "typeString": "struct menuManagement.Item storage ref" + } + }, + "id": 1107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1286:5:3", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 953, + "src": "1275:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1108, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "1292:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1275:22:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1110, + "nodeType": "ExpressionStatement", + "src": "1275:22:3" + } + ] + }, + "id": 1112, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1094, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "1208:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1095, + "kind": "modifierInvocation", + "modifierName": { + "id": 1093, + "name": "exists", + "nameLocations": [ + "1201:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1000, + "src": "1201:6:3" + }, + "nodeType": "ModifierInvocation", + "src": "1201:12:3" + } + ], + "name": "UpdatePrice", + "nameLocation": "1149:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1089, + "mutability": "mutable", + "name": "name", + "nameLocation": "1175:4:3", + "nodeType": "VariableDeclaration", + "scope": 1112, + "src": "1161:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1161:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1091, + "mutability": "mutable", + "name": "price", + "nameLocation": "1186:5:3", + "nodeType": "VariableDeclaration", + "scope": 1112, + "src": "1181:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1090, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1181:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1160:32:3" + }, + "returnParameters": { + "id": 1096, + "nodeType": "ParameterList", + "parameters": [], + "src": "1214:0:3" + }, + "scope": 1147, + "src": "1140:165:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 1127, + "nodeType": "Block", + "src": "1400:49:3", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 1122, + "name": "itms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "1418:4:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Item_$958_storage_$", + "typeString": "mapping(string memory => struct menuManagement.Item storage ref)" + } + }, + "id": 1124, + "indexExpression": { + "id": 1123, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1423:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1418:10:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$958_storage", + "typeString": "struct menuManagement.Item storage ref" + } + }, + "id": 1125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1429:12:3", + "memberName": "availability", + "nodeType": "MemberAccess", + "referencedDeclaration": 957, + "src": "1418:23:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1121, + "id": 1126, + "nodeType": "Return", + "src": "1411:30:3" + } + ] + }, + "functionSelector": "825bbdac", + "id": 1128, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1117, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1367:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1118, + "kind": "modifierInvocation", + "modifierName": { + "id": 1116, + "name": "exists", + "nameLocations": [ + "1360:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1000, + "src": "1360:6:3" + }, + "nodeType": "ModifierInvocation", + "src": "1360:12:3" + } + ], + "name": "CheckAvailability", + "nameLocation": "1322:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1114, + "mutability": "mutable", + "name": "name", + "nameLocation": "1354:4:3", + "nodeType": "VariableDeclaration", + "scope": 1128, + "src": "1340:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1113, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1340:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1339:20:3" + }, + "returnParameters": { + "id": 1121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1120, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1128, + "src": "1394:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1119, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1394:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1393:6:3" + }, + "scope": 1147, + "src": "1313:136:3", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1136, + "nodeType": "Block", + "src": "1516:32:3", + "statements": [ + { + "expression": { + "id": 1134, + "name": "prices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "1534:6:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 1133, + "id": 1135, + "nodeType": "Return", + "src": "1527:13:3" + } + ] + }, + "functionSelector": "fb5e33b7", + "id": 1137, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMenuPrice", + "nameLocation": "1466:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [], + "src": "1478:2:3" + }, + "returnParameters": { + "id": 1133, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1132, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1137, + "src": "1501:14:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1130, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1501:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1131, + "nodeType": "ArrayTypeName", + "src": "1501:7:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1500:16:3" + }, + "scope": 1147, + "src": "1457:91:3", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1145, + "nodeType": "Block", + "src": "1618:202:3", + "statements": [ + { + "expression": { + "id": 1143, + "name": "quantities", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "1802:10:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 1142, + "id": 1144, + "nodeType": "Return", + "src": "1795:17:3" + } + ] + }, + "functionSelector": "b3780971", + "id": 1146, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMenuQuantity", + "nameLocation": "1565:15:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1138, + "nodeType": "ParameterList", + "parameters": [], + "src": "1580:2:3" + }, + "returnParameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1141, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1146, + "src": "1603:14:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1139, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1603:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1140, + "nodeType": "ArrayTypeName", + "src": "1603:7:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1602:16:3" + }, + "scope": 1147, + "src": "1556:264:3", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1148, + "src": "66:1757:3", + "usedErrors": [] + } + ], + "src": "31:1792:3" + }, + "compiler": { + "name": "solc", + "version": "0.8.19+commit.7dd6d404.Emscripten.clang" + }, + "networks": { + "1337": { + "events": {}, + "links": {}, + "address": "0x98202218900fCEB1cF83261D0932ac2d93DC744c", + "transactionHash": "0xcde1f4df8a834be37edadcd5ee3b6f448942a1b6e337a1019e48ec1332476595" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-06T10:48:26.393Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/Project2/build/contracts/rewardsAndLoyalty.json b/Project2/build/contracts/rewardsAndLoyalty.json new file mode 100644 index 0000000..153fba1 --- /dev/null +++ b/Project2/build/contracts/rewardsAndLoyalty.json @@ -0,0 +1,3133 @@ +{ + "contractName": "rewardsAndLoyalty", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "buydaysstreak", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "reward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardforbuydays", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "sentamount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getreward", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getsentamount", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getbuydaysstreak", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getrewardforbuydays", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"buydaysstreak\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getbuydaysstreak\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getreward\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getrewardforbuydays\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getsentamount\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"reward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"rewardforbuydays\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"sentamount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/rewardsAndLoyalty.sol\":\"rewardsAndLoyalty\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/rewardsAndLoyalty.sol\":{\"keccak256\":\"0x4f1189706a0b4e140b2c08e3fa1cef57d172eaf5dc91424695454a40bc2ce81a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01aac466bced16e8eaf76db8b8a131df1981d75629fe1f711cba21c0b9d57a15\",\"dweb:/ipfs/QmbFQCLLenEYn1Wj6mXfTkofjFAWfwAwXg7vpLR8jByBXN\"]}},\"version\":1}", + "bytecode": "0x6080604052604051806101c00160405280600a61ffff168152602001603261ffff168152602001606461ffff16815260200160c861ffff16815260200160fa61ffff1681526020016101f461ffff1681526020016102ee61ffff1681526020016103e861ffff1681526020016105dc61ffff1681526020016107d061ffff168152602001610bb861ffff16815260200161138861ffff168152602001611d4c61ffff16815260200161271061ffff16815250600090600e6100c192919061026b565b50604051806101c00160405280600361ffff168152602001600561ffff168152602001600a61ffff168152602001600f61ffff168152602001601461ffff168152602001601e61ffff168152602001602861ffff168152602001604661ffff168152602001609661ffff16815260200160b461ffff16815260200160dc61ffff16815260200161015e61ffff1681526020016101f461ffff16815260200161032061ffff16815250600190600e61017992919061026b565b50604051806101000160405280600361ffff168152602001600561ffff168152602001600a61ffff168152602001601e61ffff168152602001603c61ffff168152602001605a61ffff16815260200160b461ffff16815260200161016d61ffff1681525060029060086101ed9291906102be565b50604051806101000160405280600160ff168152602001600260ff168152602001600360ff168152602001600a60ff168152602001601e60ff168152602001603260ff168152602001604660ff168152602001606460ff168152506003906008610258929190610311565b5034801561026557600080fd5b50610380565b8280548282559060005260206000209081019282156102ad579160200282015b828111156102ac578251829061ffff1690559160200191906001019061028b565b5b5090506102ba9190610363565b5090565b828054828255906000526020600020908101928215610300579160200282015b828111156102ff578251829061ffff169055916020019190600101906102de565b5b50905061030d9190610363565b5090565b828054828255906000526020600020908101928215610352579160200282015b82811115610351578251829060ff16905591602001919060010190610331565b5b50905061035f9190610363565b5090565b5b8082111561037c576000816000905550600101610364565b5090565b61055d8061038f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80636f8e0a081161005b5780636f8e0a081461013b5780637038482414610159578063a9fb763c14610177578063af04289c146101a757610088565b806314f47b611461008d5780632d7ed63b146100bd5780633f1df44b146100ed5780636d9a29aa1461010b575b600080fd5b6100a760048036038101906100a291906103f0565b6101c5565b6040516100b4919061042c565b60405180910390f35b6100d760048036038101906100d291906103f0565b6101e9565b6040516100e4919061042c565b60405180910390f35b6100f561020d565b6040516101029190610505565b60405180910390f35b610125600480360381019061012091906103f0565b610265565b604051610132919061042c565b60405180910390f35b610143610289565b6040516101509190610505565b60405180910390f35b6101616102e1565b60405161016e9190610505565b60405180910390f35b610191600480360381019061018c91906103f0565b610339565b60405161019e919061042c565b60405180910390f35b6101af61035d565b6040516101bc9190610505565b60405180910390f35b600381815481106101d557600080fd5b906000526020600020016000915090505481565b600281815481106101f957600080fd5b906000526020600020016000915090505481565b6060600080548060200260200160405190810160405280929190818152602001828054801561025b57602002820191906000526020600020905b815481526020019060010190808311610247575b5050505050905090565b6000818154811061027557600080fd5b906000526020600020016000915090505481565b606060018054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b8154815260200190600101908083116102c3575b5050505050905090565b6060600380548060200260200160405190810160405280929190818152602001828054801561032f57602002820191906000526020600020905b81548152602001906001019080831161031b575b5050505050905090565b6001818154811061034957600080fd5b906000526020600020016000915090505481565b606060028054806020026020016040519081016040528092919081815260200182805480156103ab57602002820191906000526020600020905b815481526020019060010190808311610397575b5050505050905090565b600080fd5b6000819050919050565b6103cd816103ba565b81146103d857600080fd5b50565b6000813590506103ea816103c4565b92915050565b600060208284031215610406576104056103b5565b5b6000610414848285016103db565b91505092915050565b610426816103ba565b82525050565b6000602082019050610441600083018461041d565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61047c816103ba565b82525050565b600061048e8383610473565b60208301905092915050565b6000602082019050919050565b60006104b282610447565b6104bc8185610452565b93506104c783610463565b8060005b838110156104f85781516104df8882610482565b97506104ea8361049a565b9250506001810190506104cb565b5085935050505092915050565b6000602082019050818103600083015261051f81846104a7565b90509291505056fea264697066735822122092fd33fbaf9c1fec0d0edf3706a1d58f661b6b7b9a2f792a795c0c92eb37d69a64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80636f8e0a081161005b5780636f8e0a081461013b5780637038482414610159578063a9fb763c14610177578063af04289c146101a757610088565b806314f47b611461008d5780632d7ed63b146100bd5780633f1df44b146100ed5780636d9a29aa1461010b575b600080fd5b6100a760048036038101906100a291906103f0565b6101c5565b6040516100b4919061042c565b60405180910390f35b6100d760048036038101906100d291906103f0565b6101e9565b6040516100e4919061042c565b60405180910390f35b6100f561020d565b6040516101029190610505565b60405180910390f35b610125600480360381019061012091906103f0565b610265565b604051610132919061042c565b60405180910390f35b610143610289565b6040516101509190610505565b60405180910390f35b6101616102e1565b60405161016e9190610505565b60405180910390f35b610191600480360381019061018c91906103f0565b610339565b60405161019e919061042c565b60405180910390f35b6101af61035d565b6040516101bc9190610505565b60405180910390f35b600381815481106101d557600080fd5b906000526020600020016000915090505481565b600281815481106101f957600080fd5b906000526020600020016000915090505481565b6060600080548060200260200160405190810160405280929190818152602001828054801561025b57602002820191906000526020600020905b815481526020019060010190808311610247575b5050505050905090565b6000818154811061027557600080fd5b906000526020600020016000915090505481565b606060018054806020026020016040519081016040528092919081815260200182805480156102d757602002820191906000526020600020905b8154815260200190600101908083116102c3575b5050505050905090565b6060600380548060200260200160405190810160405280929190818152602001828054801561032f57602002820191906000526020600020905b81548152602001906001019080831161031b575b5050505050905090565b6001818154811061034957600080fd5b906000526020600020016000915090505481565b606060028054806020026020016040519081016040528092919081815260200182805480156103ab57602002820191906000526020600020905b815481526020019060010190808311610397575b5050505050905090565b600080fd5b6000819050919050565b6103cd816103ba565b81146103d857600080fd5b50565b6000813590506103ea816103c4565b92915050565b600060208284031215610406576104056103b5565b5b6000610414848285016103db565b91505092915050565b610426816103ba565b82525050565b6000602082019050610441600083018461041d565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61047c816103ba565b82525050565b600061048e8383610473565b60208301905092915050565b6000602082019050919050565b60006104b282610447565b6104bc8185610452565b93506104c783610463565b8060005b838110156104f85781516104df8882610482565b97506104ea8361049a565b9250506001810190506104cb565b5085935050505092915050565b6000602082019050818103600083015261051f81846104a7565b90509291505056fea264697066735822122092fd33fbaf9c1fec0d0edf3706a1d58f661b6b7b9a2f792a795c0c92eb37d69a64736f6c63430008130033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:3387:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:5", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:5" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:5" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:5", + "type": "" + } + ], + "src": "7:75:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:5" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:5" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:32:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:16:5", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "400:5:5" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:5" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:5", + "type": "" + } + ], + "src": "334:77:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "460:79:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "517:16:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "526:1:5", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "519:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "519:12:5" + }, + "nodeType": "YulExpressionStatement", + "src": "519:12:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "483:5:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "508:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "490:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "490:24:5" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "480:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "480:35:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "473:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "473:43:5" + }, + "nodeType": "YulIf", + "src": "470:63:5" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "453:5:5", + "type": "" + } + ], + "src": "417:122:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:87:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "607:29:5", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "629:6:5" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "616:12:5" + }, + "nodeType": "YulFunctionCall", + "src": "616:20:5" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "607:5:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "672:5:5" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "645:26:5" + }, + "nodeType": "YulFunctionCall", + "src": "645:33:5" + }, + "nodeType": "YulExpressionStatement", + "src": "645:33:5" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "575:6:5", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "583:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "591:5:5", + "type": "" + } + ], + "src": "545:139:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "756:263:5", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "802:83:5", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "804:77:5" + }, + "nodeType": "YulFunctionCall", + "src": "804:79:5" + }, + "nodeType": "YulExpressionStatement", + "src": "804:79:5" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "777:7:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "786:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "773:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "773:23:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "798:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "769:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "769:32:5" + }, + "nodeType": "YulIf", + "src": "766:119:5" + }, + { + "nodeType": "YulBlock", + "src": "895:117:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "910:15:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "924:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "914:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "939:63:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "974:9:5" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "985:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "970:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "970:22:5" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "994:7:5" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "949:20:5" + }, + "nodeType": "YulFunctionCall", + "src": "949:53:5" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "939:6:5" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "726:9:5", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "737:7:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "749:6:5", + "type": "" + } + ], + "src": "690:329:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1090:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1107:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1130:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1112:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "1112:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1100:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1100:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1100:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1078:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1085:3:5", + "type": "" + } + ], + "src": "1025:118:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1247:124:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1257:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1269:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1280:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1265:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1265:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1257:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1337:6:5" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1350:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1361:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1346:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1346:17:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "1293:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "1293:71:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1293:71:5" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1219:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1231:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1242:4:5", + "type": "" + } + ], + "src": "1149:222:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1451:40:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1462:22:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1478:5:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1472:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "1472:12:5" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1462:6:5" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1434:5:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1444:6:5", + "type": "" + } + ], + "src": "1377:114:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1608:73:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1625:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1630:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1618:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1618:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1618:19:5" + }, + { + "nodeType": "YulAssignment", + "src": "1646:29:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1665:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1670:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1661:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1661:14:5" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1646:11:5" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1580:3:5", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1585:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1596:11:5", + "type": "" + } + ], + "src": "1497:184:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1759:60:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1769:11:5", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1777:3:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "1769:4:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1790:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1802:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1807:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1798:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1798:14:5" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "1790:4:5" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "1746:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "1754:4:5", + "type": "" + } + ], + "src": "1687:132:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1880:53:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1897:3:5" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1920:5:5" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1902:17:5" + }, + "nodeType": "YulFunctionCall", + "src": "1902:24:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1890:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1890:37:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1890:37:5" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1868:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1875:3:5", + "type": "" + } + ], + "src": "1825:108:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2019:99:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2063:6:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2071:3:5" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "2029:33:5" + }, + "nodeType": "YulFunctionCall", + "src": "2029:46:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2029:46:5" + }, + { + "nodeType": "YulAssignment", + "src": "2084:28:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2102:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2107:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2098:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2098:14:5" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "2084:10:5" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1992:6:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2000:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "2008:10:5", + "type": "" + } + ], + "src": "1939:179:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2199:38:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2209:22:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2221:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2226:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2217:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2217:14:5" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "2209:4:5" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "2186:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "2194:4:5", + "type": "" + } + ], + "src": "2124:113:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2397:608:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2407:68:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2469:5:5" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2421:47:5" + }, + "nodeType": "YulFunctionCall", + "src": "2421:54:5" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2411:6:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2484:93:5", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2565:3:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2570:6:5" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2491:73:5" + }, + "nodeType": "YulFunctionCall", + "src": "2491:86:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2484:3:5" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2586:71:5", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2651:5:5" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2601:49:5" + }, + "nodeType": "YulFunctionCall", + "src": "2601:56:5" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "2590:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2666:21:5", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "2680:7:5" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "2670:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2756:224:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2770:34:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2797:6:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2791:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "2791:13:5" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "2774:13:5", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2817:70:5", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "2868:13:5" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2883:3:5" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "2824:43:5" + }, + "nodeType": "YulFunctionCall", + "src": "2824:63:5" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2817:3:5" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2900:70:5", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2963:6:5" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2910:52:5" + }, + "nodeType": "YulFunctionCall", + "src": "2910:60:5" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2900:6:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2718:1:5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2721:6:5" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2715:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "2715:13:5" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2729:18:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2731:14:5", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2740:1:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2743:1:5", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2736:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2736:9:5" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2731:1:5" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "2700:14:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2702:10:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2711:1:5", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "2706:1:5", + "type": "" + } + ] + } + ] + }, + "src": "2696:284:5" + }, + { + "nodeType": "YulAssignment", + "src": "2989:10:5", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2996:3:5" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2989:3:5" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2376:5:5", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2383:3:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2392:3:5", + "type": "" + } + ], + "src": "2273:732:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3159:225:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3169:26:5", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3181:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3192:2:5", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3177:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3177:18:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3169:4:5" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3216:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3227:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3212:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3212:17:5" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3235:4:5" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3241:9:5" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3231:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3231:20:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3205:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3205:47:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3205:47:5" + }, + { + "nodeType": "YulAssignment", + "src": "3261:116:5", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3363:6:5" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3372:4:5" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3269:93:5" + }, + "nodeType": "YulFunctionCall", + "src": "3269:108:5" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3261:4:5" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3131:9:5", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3143:6:5", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3154:4:5", + "type": "" + } + ], + "src": "3011:373:5" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n", + "id": 5, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "66:828:4:-:0;;;100:117;;;;;;;;129:2;100:117;;;;;;134:2;100:117;;;;;;139:3;100:117;;;;;;145:3;100:117;;;;;;151:3;100:117;;;;;;157:3;100:117;;;;;;163:3;100:117;;;;;;169:4;100:117;;;;;;176:4;100:117;;;;;;183:4;100:117;;;;;;190:4;100:117;;;;;;197:4;100:117;;;;;;204:4;100:117;;;;;;211:5;100:117;;;;;;;;;;;;;:::i;:::-;;224:97;;;;;;;;249:1;224:97;;;;;;253:1;224:97;;;;;;257:2;224:97;;;;;;262:2;224:97;;;;;;267:2;224:97;;;;;;272:2;224:97;;;;;;277:2;224:97;;;;;;282:2;224:97;;;;;;287:3;224:97;;;;;;293:3;224:97;;;;;;299:3;224:97;;;;;;305:3;224:97;;;;;;311:3;224:97;;;;;;317:3;224:97;;;;;;;;;;;;;:::i;:::-;;328:70;;;;;;;;360:1;328:70;;;;;;364:1;328:70;;;;;;368:2;328:70;;;;;;373:2;328:70;;;;;;378:2;328:70;;;;;;383:2;328:70;;;;;;388:3;328:70;;;;;;394:3;328:70;;;;;;;;;;;;;:::i;:::-;;405:71;;;;;;;;440:1;405:71;;;;;;444:1;405:71;;;;;;448:1;405:71;;;;;;452:2;405:71;;;;;;457:2;405:71;;;;;;462:2;405:71;;;;;;467:2;405:71;;;;;;472:3;405:71;;;;;;;;;;;;;:::i;:::-;;66:828;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "66:828:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;405:71;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;328:70;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;576:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;100:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;483:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;784:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;224:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;677:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;405:71;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;328:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;576:95::-;621:13;653:10;646:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;576:95;:::o;100:117::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;483:87::-;524:13;556:6;549:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;483:87;:::o;784:107::-;835:13;867:16;860:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;784:107;:::o;224:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;677:101::-;725:13;757;750:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:101;:::o;88:117:5:-;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:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:114::-;1444:6;1478:5;1472:12;1462:22;;1377:114;;;:::o;1497:184::-;1596:11;1630:6;1625:3;1618:19;1670:4;1665:3;1661:14;1646:29;;1497:184;;;;:::o;1687:132::-;1754:4;1777:3;1769:11;;1807:4;1802:3;1798:14;1790:22;;1687:132;;;:::o;1825:108::-;1902:24;1920:5;1902:24;:::i;:::-;1897:3;1890:37;1825:108;;:::o;1939:179::-;2008:10;2029:46;2071:3;2063:6;2029:46;:::i;:::-;2107:4;2102:3;2098:14;2084:28;;1939:179;;;;:::o;2124:113::-;2194:4;2226;2221:3;2217:14;2209:22;;2124:113;;;:::o;2273:732::-;2392:3;2421:54;2469:5;2421:54;:::i;:::-;2491:86;2570:6;2565:3;2491:86;:::i;:::-;2484:93;;2601:56;2651:5;2601:56;:::i;:::-;2680:7;2711:1;2696:284;2721:6;2718:1;2715:13;2696:284;;;2797:6;2791:13;2824:63;2883:3;2868:13;2824:63;:::i;:::-;2817:70;;2910:60;2963:6;2910:60;:::i;:::-;2900:70;;2756:224;2743:1;2740;2736:9;2731:14;;2696:284;;;2700:14;2996:3;2989:10;;2397:608;;;2273:732;;;;:::o;3011:373::-;3154:4;3192:2;3181:9;3177:18;3169:26;;3241:9;3235:4;3231:20;3227:1;3216:9;3212:17;3205:47;3269:108;3372:4;3363:6;3269:108;:::i;:::-;3261:116;;3011:373;;;;:::o", + "source": "//SPDX-License-Identifier:MIT\r\npragma solidity >=0.8.10 <0.8.20;\r\ncontract rewardsAndLoyalty {\r\n uint [] public sentamount = [10 , 50 , 100 , 200 , 250 , 500 , 750 , 1000 , 1500 , 2000 , 3000 , 5000 , 7500 , 10000];\r\n uint [] public reward = [3 , 5 , 10 , 15 , 20 , 30 , 40 , 70 , 150 , 180 , 220 , 350 , 500 , 800];\r\n uint [] public buydaysstreak = [3 , 5 , 10 , 30 , 60 , 90 , 180 , 365];\r\n uint [] public rewardforbuydays = [1 , 2 , 3 , 10 , 30 , 50 , 70 , 100];\r\n function getreward() public view returns(uint[] memory){\r\n return reward;\r\n }\r\n function getsentamount() public view returns(uint[] memory){\r\n return sentamount;\r\n }\r\n function getbuydaysstreak() public view returns(uint[] memory){\r\n return buydaysstreak;\r\n }\r\n function getrewardforbuydays() public view returns(uint[] memory){\r\n return rewardforbuydays;\r\n }\r\n}", + "sourcePath": "/home/awais/Downloads/Project2/contracts/rewardsAndLoyalty.sol", + "ast": { + "absolutePath": "project:/contracts/rewardsAndLoyalty.sol", + "exportedSymbols": { + "rewardsAndLoyalty": [ + 1246 + ] + }, + "id": 1247, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1149, + "literals": [ + "solidity", + ">=", + "0.8", + ".10", + "<", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:33:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "rewardsAndLoyalty", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1246, + "linearizedBaseContracts": [ + 1246 + ], + "name": "rewardsAndLoyalty", + "nameLocation": "75:17:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "6d9a29aa", + "id": 1167, + "mutability": "mutable", + "name": "sentamount", + "nameLocation": "115:10:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "100:117:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1150, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "100:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1151, + "nodeType": "ArrayTypeName", + "src": "100:7:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": { + "components": [ + { + "hexValue": "3130", + "id": 1152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "129:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "3530", + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "134:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + { + "hexValue": "313030", + "id": 1154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "139:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + { + "hexValue": "323030", + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "145:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + { + "hexValue": "323530", + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "151:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_250_by_1", + "typeString": "int_const 250" + }, + "value": "250" + }, + { + "hexValue": "353030", + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "157:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_500_by_1", + "typeString": "int_const 500" + }, + "value": "500" + }, + { + "hexValue": "373530", + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "163:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_750_by_1", + "typeString": "int_const 750" + }, + "value": "750" + }, + { + "hexValue": "31303030", + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "169:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + { + "hexValue": "31353030", + "id": 1160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "176:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1500_by_1", + "typeString": "int_const 1500" + }, + "value": "1500" + }, + { + "hexValue": "32303030", + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "183:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000_by_1", + "typeString": "int_const 2000" + }, + "value": "2000" + }, + { + "hexValue": "33303030", + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "190:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_3000_by_1", + "typeString": "int_const 3000" + }, + "value": "3000" + }, + { + "hexValue": "35303030", + "id": 1163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "197:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_5000_by_1", + "typeString": "int_const 5000" + }, + "value": "5000" + }, + { + "hexValue": "37353030", + "id": 1164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "204:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_7500_by_1", + "typeString": "int_const 7500" + }, + "value": "7500" + }, + { + "hexValue": "3130303030", + "id": 1165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "211:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "value": "10000" + } + ], + "id": 1166, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "128:89:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint16_$14_memory_ptr", + "typeString": "uint16[14] memory" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "a9fb763c", + "id": 1185, + "mutability": "mutable", + "name": "reward", + "nameLocation": "239:6:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "224:97:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1168, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "224:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1169, + "nodeType": "ArrayTypeName", + "src": "224:7:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": { + "components": [ + { + "hexValue": "33", + "id": 1170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "249:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + { + "hexValue": "35", + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "253:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + { + "hexValue": "3130", + "id": 1172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "257:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "3135", + "id": 1173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "262:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + { + "hexValue": "3230", + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "267:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + { + "hexValue": "3330", + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "272:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "3430", + "id": 1176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "277:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + { + "hexValue": "3730", + "id": 1177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "282:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_70_by_1", + "typeString": "int_const 70" + }, + "value": "70" + }, + { + "hexValue": "313530", + "id": 1178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "287:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_150_by_1", + "typeString": "int_const 150" + }, + "value": "150" + }, + { + "hexValue": "313830", + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "293:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_180_by_1", + "typeString": "int_const 180" + }, + "value": "180" + }, + { + "hexValue": "323230", + "id": 1180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "299:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_220_by_1", + "typeString": "int_const 220" + }, + "value": "220" + }, + { + "hexValue": "333530", + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "305:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_350_by_1", + "typeString": "int_const 350" + }, + "value": "350" + }, + { + "hexValue": "353030", + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "311:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_500_by_1", + "typeString": "int_const 500" + }, + "value": "500" + }, + { + "hexValue": "383030", + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "317:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_800_by_1", + "typeString": "int_const 800" + }, + "value": "800" + } + ], + "id": 1184, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "248:73:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint16_$14_memory_ptr", + "typeString": "uint16[14] memory" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "2d7ed63b", + "id": 1197, + "mutability": "mutable", + "name": "buydaysstreak", + "nameLocation": "343:13:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "328:70:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1186, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "328:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1187, + "nodeType": "ArrayTypeName", + "src": "328:7:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": { + "components": [ + { + "hexValue": "33", + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "360:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + { + "hexValue": "35", + "id": 1189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "364:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + { + "hexValue": "3130", + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "368:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "3330", + "id": 1191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "373:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "3630", + "id": 1192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "378:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + { + "hexValue": "3930", + "id": 1193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "383:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_90_by_1", + "typeString": "int_const 90" + }, + "value": "90" + }, + { + "hexValue": "313830", + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "388:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_180_by_1", + "typeString": "int_const 180" + }, + "value": "180" + }, + { + "hexValue": "333635", + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "394:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_365_by_1", + "typeString": "int_const 365" + }, + "value": "365" + } + ], + "id": 1196, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "359:39:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint16_$8_memory_ptr", + "typeString": "uint16[8] memory" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "14f47b61", + "id": 1209, + "mutability": "mutable", + "name": "rewardforbuydays", + "nameLocation": "420:16:4", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "405:71:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1198, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "405:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1199, + "nodeType": "ArrayTypeName", + "src": "405:7:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": { + "components": [ + { + "hexValue": "31", + "id": 1200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "440:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "hexValue": "32", + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "444:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + { + "hexValue": "33", + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "448:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + { + "hexValue": "3130", + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "452:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "3330", + "id": 1204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "457:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "3530", + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "462:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + { + "hexValue": "3730", + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "467:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_70_by_1", + "typeString": "int_const 70" + }, + "value": "70" + }, + { + "hexValue": "313030", + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "472:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + } + ], + "id": 1208, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "439:37:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$8_memory_ptr", + "typeString": "uint8[8] memory" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1217, + "nodeType": "Block", + "src": "538:32:4", + "statements": [ + { + "expression": { + "id": 1215, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1185, + "src": "556:6:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 1214, + "id": 1216, + "nodeType": "Return", + "src": "549:13:4" + } + ] + }, + "functionSelector": "6f8e0a08", + "id": 1218, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getreward", + "nameLocation": "492:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1210, + "nodeType": "ParameterList", + "parameters": [], + "src": "501:2:4" + }, + "returnParameters": { + "id": 1214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1213, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1218, + "src": "524:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1211, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "524:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1212, + "nodeType": "ArrayTypeName", + "src": "524:6:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "523:15:4" + }, + "scope": 1246, + "src": "483:87:4", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1226, + "nodeType": "Block", + "src": "635:36:4", + "statements": [ + { + "expression": { + "id": 1224, + "name": "sentamount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1167, + "src": "653:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 1223, + "id": 1225, + "nodeType": "Return", + "src": "646:17:4" + } + ] + }, + "functionSelector": "3f1df44b", + "id": 1227, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getsentamount", + "nameLocation": "585:13:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1219, + "nodeType": "ParameterList", + "parameters": [], + "src": "598:2:4" + }, + "returnParameters": { + "id": 1223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1222, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1227, + "src": "621:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1220, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "621:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1221, + "nodeType": "ArrayTypeName", + "src": "621:6:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "620:15:4" + }, + "scope": 1246, + "src": "576:95:4", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1235, + "nodeType": "Block", + "src": "739:39:4", + "statements": [ + { + "expression": { + "id": 1233, + "name": "buydaysstreak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "757:13:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 1232, + "id": 1234, + "nodeType": "Return", + "src": "750:20:4" + } + ] + }, + "functionSelector": "af04289c", + "id": 1236, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getbuydaysstreak", + "nameLocation": "686:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1228, + "nodeType": "ParameterList", + "parameters": [], + "src": "702:2:4" + }, + "returnParameters": { + "id": 1232, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1231, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "725:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1229, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "725:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1230, + "nodeType": "ArrayTypeName", + "src": "725:6:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "724:15:4" + }, + "scope": 1246, + "src": "677:101:4", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1244, + "nodeType": "Block", + "src": "849:42:4", + "statements": [ + { + "expression": { + "id": 1242, + "name": "rewardforbuydays", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "867:16:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 1241, + "id": 1243, + "nodeType": "Return", + "src": "860:23:4" + } + ] + }, + "functionSelector": "70384824", + "id": 1245, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getrewardforbuydays", + "nameLocation": "793:19:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1237, + "nodeType": "ParameterList", + "parameters": [], + "src": "812:2:4" + }, + "returnParameters": { + "id": 1241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1240, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1245, + "src": "835:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1238, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1239, + "nodeType": "ArrayTypeName", + "src": "835:6:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "834:15:4" + }, + "scope": 1246, + "src": "784:107:4", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1247, + "src": "66:828:4", + "usedErrors": [] + } + ], + "src": "31:863:4" + }, + "compiler": { + "name": "solc", + "version": "0.8.19+commit.7dd6d404.Emscripten.clang" + }, + "networks": { + "1337": { + "events": {}, + "links": {}, + "address": "0x9d9a26b3F1bf8979E5aA1ad258184DD0Ec0b0bcf", + "transactionHash": "0xfdb35c30d934ed421223983a85e79b5c74da9e4f052969f1b9d2e4c796657de0" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-06T10:48:27.234Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/Project2/contracts/.gitkeep b/Project2/contracts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Project2/contracts/FASTCOIN.sol b/Project2/contracts/FASTCOIN.sol new file mode 100644 index 0000000..ff510e8 --- /dev/null +++ b/Project2/contracts/FASTCOIN.sol @@ -0,0 +1,85 @@ +//SPDX-License-Identifier:MIT +pragma solidity >=0.8.10 <0.8.20; +import "./rewardsAndLoyalty.sol"; +interface ERC20 { + function totalSupply() external view returns (uint256); + function balanceOf(address account) external view returns (uint256); + function transfer(address recipient, uint256 amount) external returns (bool); + function allowance(address owner, address spender) external view returns (uint256); + function approve(address spender, uint256 value) external returns (bool); + function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); + event Transfer(address from, address to, uint256 value); + event Approval(address owner, address spender, uint256 value); +} + +contract FASTCOIN is ERC20 { + uint numTokens; + mapping(address=>uint) balance; + mapping(address=>uint) paymenttime; + mapping(address=> mapping(address=>uint)) approvalLimit; + mapping(address=>uint)daystreak; + rewardsAndLoyalty public RAL; + constructor (uint _numTokens) { + numTokens = _numTokens; + balance[msg.sender] = numTokens; + } + + + function totalSupply() external view returns (uint256){ + return numTokens; + } + + function balanceOf(address account) external view returns (uint256){ + return balance[account]; + } + + function transfer(address recipient, uint256 amount) external returns (bool){ + require (balance[msg.sender] >= amount) ; + balance[msg.sender] -= amount; + balance[recipient] += amount; + } + + function approve(address spender, uint256 value) external returns (bool){ + require (balance[msg.sender] >= value); + approvalLimit[msg.sender][spender] = value; + } + + function allowance(address owner, address spender) external view returns + (uint256){ + return approvalLimit[owner][spender]; + } + + function transferFrom(address sender, address recipient, uint256 amount) external returns + (bool){ + require (amount <= balance[sender]); + require (amount <= approvalLimit[sender][msg.sender]); + paymenttime[sender]=(block.timestamp - paymenttime[sender]) ; + if (paymenttime[sender] > 24 hours){ + daystreak[sender]=0; + } else { + uint [] memory stamt = RAL.getsentamount(); + uint [] memory rwd = RAL.getreward(); + uint [] memory bdystk = RAL.getbuydaysstreak(); + uint [] memory rwdbdystk = RAL.getrewardforbuydays(); + for (uint i = 0 ; i < stamt.length ; i++){ + if (amount > stamt[i]){ + balance[sender]+=rwd[i]; + break; + } + } + + for (uint i = 0 ; i < bdystk.length ; i++){ + if (daystreak[sender] > bdystk[i]){ + balance[sender]+=rwdbdystk[i]; + break; + } + } + } + balance[sender] -= amount; + balance[recipient] += amount; + approvalLimit[sender][msg.sender] -= amount; + paymenttime[sender]=block.timestamp; + daystreak[sender]+=1; + } + +} \ No newline at end of file diff --git a/Project2/contracts/OrderProcessingContract.sol b/Project2/contracts/OrderProcessingContract.sol new file mode 100644 index 0000000..bb06948 --- /dev/null +++ b/Project2/contracts/OrderProcessingContract.sol @@ -0,0 +1,48 @@ +//SPDX-License-Identifier:MIT +pragma solidity >=0.8.10 <0.8.20; +import "./menuManagement.sol"; +import "./discountsAndPromotions.sol"; +contract OrderProcessingContract{ + menuManagement public mn; + discountsAndPromotions public discAPro; + + function setmenuanddiscountsandpromotions(address _addrmenu , address _addrdiscandpro)public{ + mn=menuManagement(_addrmenu); + discAPro=discountsAndPromotions(_addrdiscandpro); + } + + function CheckinAvailability()public view returns(bool){ + return mn.CheckAvailability("Pizza"); + } + + function getMenuItems() public view returns(string [] memory , uint [] memory, uint [] memory){ + string [] memory names = mn.getItemNames(); + uint [] memory price = mn.getMenuPrice(); + uint [] memory quantity = mn.getMenuQuantity(); + return (names , price , quantity); + } + + function CalculateOrderAmount(string [] memory itemnames , uint [] memory quantities) external returns(uint){ + uint totalAmount; + string [] memory names = mn.getItemNames(); + uint [] memory price = mn.getMenuPrice(); + uint [] memory quantity = mn.getMenuQuantity(); + uint j = 0; + for (uint i = 0 ; i < names.length ; i++){ + if (keccak256(abi.encodePacked(names[i])) == keccak256(abi.encodePacked(itemnames[j]))) { + string memory nm; + uint typs; uint qt ; uint prcper ; uint dur; + (nm , typs , qt , prcper , dur) = discAPro.PromotionsandDiscounts(names[i]); + if (typs == 1){ + mn.setQuantity(quantity[i] - quantities[j] - quantities[j]/qt, i); + totalAmount += quantities[j] * price[i]; + } else if (typs == 2) { + mn.setQuantity(quantity[i] - quantities[j] - quantities[j]/qt, i); + totalAmount += quantities[j] * (prcper / 100 * price[i]); + } + j++; + } + } + return totalAmount; + } +} \ No newline at end of file diff --git a/Project2/contracts/discountsAndPromotions.sol b/Project2/contracts/discountsAndPromotions.sol new file mode 100644 index 0000000..5dab8c6 --- /dev/null +++ b/Project2/contracts/discountsAndPromotions.sol @@ -0,0 +1,56 @@ +//SPDX-License-Identifier:MIT +pragma solidity >=0.8.10 <0.8.20; +import "./menuManagement.sol"; +contract discountsAndPromotions { + menuManagement public mn; + string [] names ; + uint [] prices; + uint [] quantities; + function setMenu(address _addrmenu) public{ + mn=menuManagement(_addrmenu); + } + struct PromAndDisc { + string name; + uint types; + uint quantity; + uint pricepercentagededuction; + uint duration; + } + mapping(string=> PromAndDisc) public PromotionsandDiscounts; + + //The Quantity here is the quantity + //after which the customer will be eligible for free meal. + function AddBuyAndGetFreePromotion (string [] memory items , uint quantity , uint _duration) public { + require(quantity > 0 && _duration > 0 , "Quantity or duration cannot be zero."); + names = mn.getItemNames(); + prices = mn.getMenuPrice() ; + quantities = mn.getMenuQuantity();//OPC.getMenuItems();//Tuples in solidity + uint j = 0; + for (uint i = 0 ; i < names.length ; i++){ + if (keccak256(abi.encodePacked(names[i])) == keccak256(abi.encodePacked(items[j]))){ + PromotionsandDiscounts[names[i]].quantity=quantity; + PromotionsandDiscounts[names[i]].name=names[i]; + PromotionsandDiscounts[names[i]].types=1; + PromotionsandDiscounts[names[i]].duration= block.timestamp + _duration; + j++; + } + } + } + + function AddSimpleDiscount(string [] memory items , uint percentage , uint _duration) public { + require(percentage <= 90 , "Percentage cannot exceeed 90"); + names = mn.getItemNames(); + prices = mn.getMenuPrice() ; + quantities = mn.getMenuQuantity();//OPC.getMenuItems();//Tuples in solidity + uint j = 0; + for (uint i = 0 ; i < names.length ; i++){ + if (keccak256(abi.encodePacked(names[i])) == keccak256(abi.encodePacked(items[j]))){ + PromotionsandDiscounts[names[i]].name=names[i]; + PromotionsandDiscounts[names[i]].types=2; + PromotionsandDiscounts[names[i]].pricepercentagededuction=percentage; + PromotionsandDiscounts[names[i]].duration= block.timestamp + _duration; + j++; + } + } + } +} \ No newline at end of file diff --git a/Project2/contracts/menuManagement.sol b/Project2/contracts/menuManagement.sol new file mode 100644 index 0000000..eae38e8 --- /dev/null +++ b/Project2/contracts/menuManagement.sol @@ -0,0 +1,65 @@ +//SPDX-License-Identifier:MIT +pragma solidity >=0.8.10 <0.8.20; +contract menuManagement{ + struct Item { + string name; + uint price; + uint quantity; + bool availability; + } + mapping (string => Item)public itms; + string [] public names; + uint [] public prices; + uint [] public quantities; + address public admin; + constructor(){ + admin = msg.sender; + } + + mapping(string => bool) itemExists; + + modifier exists(string memory name) { + require(itemExists[name], "Item does not exist"); + _; + } + + function addItem(string memory name , uint price, uint qty) public { + names.push(name); + prices.push(price); + quantities.push(qty); + itms[name].name=name; + itms[name].price=price; + itms[name].quantity=qty; + itms[name].availability=qty > 0; + itemExists[name] = true; + } + + function getItemNames() external view returns (string [] memory){ + return names; + } + + function setQuantity(uint qty , uint i) external{ + quantities[i]=qty; + } + + function UpdatePrice(string memory name, uint price) private exists(name) { + require(price > 0, "Price cannot be 0"); + itms[name].price=price; + } + + function CheckAvailability(string memory name) exists(name) public view returns (bool) { + return itms[name].availability; + } + + function getMenuPrice() public view returns(uint [] memory){ + return prices; + } + + function getMenuQuantity() public view returns(uint [] memory){ + /*uint [] memory qty1 = new uint[](1000); + for (uint i = 0 ; i < names.length ; i++){ + qty1[i] = itms[names[i]].quantity; + }*/ + return quantities; + } +} \ No newline at end of file diff --git a/Project2/contracts/rewardsAndLoyalty.sol b/Project2/contracts/rewardsAndLoyalty.sol new file mode 100644 index 0000000..92cf687 --- /dev/null +++ b/Project2/contracts/rewardsAndLoyalty.sol @@ -0,0 +1,20 @@ +//SPDX-License-Identifier:MIT +pragma solidity >=0.8.10 <0.8.20; +contract rewardsAndLoyalty { + uint [] public sentamount = [10 , 50 , 100 , 200 , 250 , 500 , 750 , 1000 , 1500 , 2000 , 3000 , 5000 , 7500 , 10000]; + uint [] public reward = [3 , 5 , 10 , 15 , 20 , 30 , 40 , 70 , 150 , 180 , 220 , 350 , 500 , 800]; + uint [] public buydaysstreak = [3 , 5 , 10 , 30 , 60 , 90 , 180 , 365]; + uint [] public rewardforbuydays = [1 , 2 , 3 , 10 , 30 , 50 , 70 , 100]; + function getreward() public view returns(uint[] memory){ + return reward; + } + function getsentamount() public view returns(uint[] memory){ + return sentamount; + } + function getbuydaysstreak() public view returns(uint[] memory){ + return buydaysstreak; + } + function getrewardforbuydays() public view returns(uint[] memory){ + return rewardforbuydays; + } +} \ No newline at end of file diff --git a/Project2/migrations/.gitkeep b/Project2/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Project2/migrations/1_menuManagement.js b/Project2/migrations/1_menuManagement.js new file mode 100644 index 0000000..f80b643 --- /dev/null +++ b/Project2/migrations/1_menuManagement.js @@ -0,0 +1,5 @@ +const menuManagement = artifacts.require("./menuManagement.sol"); + +module.exports = function(deployer){ + deployer.deploy(menuManagement); +} \ No newline at end of file diff --git a/Project2/migrations/2_rewardsAndLoyalty.js b/Project2/migrations/2_rewardsAndLoyalty.js new file mode 100644 index 0000000..d876e55 --- /dev/null +++ b/Project2/migrations/2_rewardsAndLoyalty.js @@ -0,0 +1,5 @@ +const RAL = artifacts.require("rewardsAndLoyalty"); + +module.exports = function(deployer){ + deployer.deploy(RAL); +} \ No newline at end of file diff --git a/Project2/migrations/3_FASTCOIN.js b/Project2/migrations/3_FASTCOIN.js new file mode 100644 index 0000000..9654a75 --- /dev/null +++ b/Project2/migrations/3_FASTCOIN.js @@ -0,0 +1,6 @@ +const FASTCOIN = artifacts.require("FASTCOIN"); + +module.exports = function(deployer){ + const initialoffering = 1000000; + deployer.deploy(FASTCOIN , initialoffering); +} \ No newline at end of file diff --git a/Project2/migrations/4_discountsAndPromotions.js b/Project2/migrations/4_discountsAndPromotions.js new file mode 100644 index 0000000..d9d73a9 --- /dev/null +++ b/Project2/migrations/4_discountsAndPromotions.js @@ -0,0 +1,4 @@ +const DiscPro = artifacts.require("discountsAndPromotions"); +module.exports=function(deployer){ + deployer.deploy(DiscPro); +} \ No newline at end of file diff --git a/Project2/migrations/5_OrderProcessingContract.js b/Project2/migrations/5_OrderProcessingContract.js new file mode 100644 index 0000000..5d27e12 --- /dev/null +++ b/Project2/migrations/5_OrderProcessingContract.js @@ -0,0 +1,5 @@ +const OPC = artifacts.require("./OrderProcessingContract.sol"); + +module.exports = function(deployer){ + deployer.deploy(OPC); +} \ No newline at end of file diff --git a/Project2/project2 b/Project2/project2 new file mode 160000 index 0000000..bc3e5c1 --- /dev/null +++ b/Project2/project2 @@ -0,0 +1 @@ +Subproject commit bc3e5c10bd98a126a03c2bbd5f9796dd5f0f2370 diff --git a/Project2/test/.gitkeep b/Project2/test/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Project2/truffle-config.js b/Project2/truffle-config.js new file mode 100644 index 0000000..f405417 --- /dev/null +++ b/Project2/truffle-config.js @@ -0,0 +1,141 @@ +/** + * Use this file to configure your truffle project. It's seeded with some + * common settings for different networks and features like migrations, + * compilation, and testing. Uncomment the ones you need or modify + * them to suit your project as necessary. + * + * More information about configuration can be found at: + * + * https://trufflesuite.com/docs/truffle/reference/configuration + * + * Hands-off deployment with Infura + * -------------------------------- + * + * Do you have a complex application that requires lots of transactions to deploy? + * Use this approach to make deployment a breeze 🏖️: + * + * Infura deployment needs a wallet provider (like @truffle/hdwallet-provider) + * to sign transactions before they're sent to a remote public node. + * Infura accounts are available for free at 🔍: https://infura.io/register + * + * You'll need a mnemonic - the twelve word phrase the wallet uses to generate + * public/private key pairs. You can store your secrets 🤐 in a .env file. + * In your project root, run `$ npm install dotenv`. + * Create .env (which should be .gitignored) and declare your MNEMONIC + * and Infura PROJECT_ID variables inside. + * For example, your .env file will have the following structure: + * + * MNEMONIC = + * PROJECT_ID = + * + * Deployment with Truffle Dashboard (Recommended for best security practice) + * -------------------------------------------------------------------------- + * + * Are you concerned about security and minimizing rekt status 🤔? + * Use this method for best security: + * + * Truffle Dashboard lets you review transactions in detail, and leverages + * MetaMask for signing, so there's no need to copy-paste your mnemonic. + * More details can be found at 🔎: + * + * https://trufflesuite.com/docs/truffle/getting-started/using-the-truffle-dashboard/ + */ + +// require('dotenv').config(); +// const { MNEMONIC, PROJECT_ID } = process.env; + +// const HDWalletProvider = require('@truffle/hdwallet-provider'); + +module.exports = { + /** + * Networks define how you connect to your ethereum client and let you set the + * defaults web3 uses to send transactions. If you don't specify one truffle + * will spin up a managed Ganache instance for you on port 9545 when you + * run `develop` or `test`. You can ask a truffle command to use a specific + * network from the command line, e.g + * + * $ truffle test --network + */ + + networks: { + // Useful for testing. The `development` name is special - truffle uses it by default + // if it's defined here and no other network is specified at the command line. + // You should run a client (like ganache, geth, or parity) in a separate terminal + // tab if you use this network and you must also set the `host`, `port` and `network_id` + // options below to some value. + // + development: { + host: "127.0.0.1", // Localhost (default: none) + port: 7545, // Standard Ethereum port (default: none) + network_id: "1337", // Any network (default: none) + }, + // + // An additional network, but with some advanced options… + // advanced: { + // port: 8777, // Custom port + // network_id: 1342, // Custom network + // gas: 8500000, // Gas sent with each transaction (default: ~6700000) + // gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) + // from:
, // Account to send transactions from (default: accounts[0]) + // websocket: true // Enable EventEmitter interface for web3 (default: false) + // }, + // + // Useful for deploying to a public network. + // Note: It's important to wrap the provider as a function to ensure truffle uses a new provider every time. + // goerli: { + // provider: () => new HDWalletProvider(MNEMONIC, `https://goerli.infura.io/v3/${PROJECT_ID}`), + // network_id: 5, // Goerli's id + // confirmations: 2, // # of confirmations to wait between deployments. (default: 0) + // timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) + // skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) + // }, + // + // Useful for private networks + // private: { + // provider: () => new HDWalletProvider(MNEMONIC, `https://network.io`), + // network_id: 2111, // This network is yours, in the cloud. + // production: true // Treats this network as if it was a public net. (default: false) + // } + }, + + // Set default mocha options here, use special reporters, etc. + mocha: { + // timeout: 100000 + }, + + // Configure your compilers + compilers: { + solc: { + version: ">=0.8.10 <0.8.20", // Fetch exact version from solc-bin (default: truffle's version) + // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) + // settings: { // See the solidity docs for advice about optimization and evmVersion + // optimizer: { + // enabled: false, + // runs: 200 + // }, + // evmVersion: "byzantium" + // } + } + }, + + // Truffle DB is currently disabled by default; to enable it, change enabled: + // false to enabled: true. The default storage location can also be + // overridden by specifying the adapter settings, as shown in the commented code below. + // + // NOTE: It is not possible to migrate your contracts to truffle DB and you should + // make a backup of your artifacts to a safe location before enabling this feature. + // + // After you backed up your artifacts you can utilize db by running migrate as follows: + // $ truffle migrate --reset --compile-all + // + // db: { + // enabled: false, + // host: "127.0.0.1", + // adapter: { + // name: "indexeddb", + // settings: { + // directory: ".db" + // } + // } + // } +}; diff --git a/README.md b/README.md deleted file mode 100644 index 1565c94..0000000 --- a/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# CS-4049-Blockchain-and-Cryptocurrency-Assignment-03-042 - -Project Title: Decentralized FAST Cafeteria Shopping System -It is a group project; however, the size of the group shall not exceed four students. The group -members must be same as of project 1. Your submission shall be made on the classroom, and you -shall submit a zip file containing all the source code. Deadline is 06th - -January 2024. Late -submissions or ones sent by email are NOT accepted and WILL give you zero points. You should -use the following naming convention while uploading file: -project01_RollNo1_RollNo2_RollNo3_RollNo4.zip -Scenario Specifications: -FAST University has requested batch 20 students currently enrolled in the CS-4049 course to -develop a futuristic DAPP that revolutionize the way students and staff interact with the cafeteria. -The DAPP aims to provide a seamless and transparent experience for ordering meals, processing -transactions, handling payments via cryptocurrency and rewarding loyal customers. -The DAPP will have three different stakeholders, i.e., (i) university management, (ii) cafeteria staff -and (iii) cafeteria users. The DAPP must satisfy the following requirements. -1. Smart Contracts: Instead of one monolithic contract, the DAPP must be designed to use -multiple contracts, each playing a crucial role in the cafeteria shopping system. Contracts -should cover functionalities such as menu management, order processing, payments, loyalty -rewards, and promotions. The exact details of the smart contracts will follow later. -2. Inter-contract Functionality: Smart contracts must interact with each other through function -calls, creating a cohesive and interconnected system. For instance, the order contract may call -functions from the menu contract to fetch item details. Likewise, the rewards contract could -interact with the payment contract to credit loyalty tokens. - -3. ERC20 Token Standard Implementation: Instead of using BTC/ETH or any other well- -established coin, the Rector has decided to develop an indigenous coin with the name of - -FastCoin. The smart contract that implements FastCoin must adhere to the ERC20 token -standard. This contract must be designed to facilitate payments, loyalty rewards, and potential -promotions through FastCoin token. -Smart Contracts: -As a requirement, the following smart contracts must be supported by the DAPP. - -1. Menu Management Contract [10 marks]: Manages the cafeteria menu, including items, prices, -and availability. This contract provides functions for the cafeteria staff to add new menu items, -update prices, and check item availability. -2. Order Processing Contract [10 marks]: Facilitates the order processing system, allowing users -to select items, specify quantities, and place orders. This contract calls functions from the -menu management contract to retrieve item details and calculates the total order amount. -3. Payment Contract (ERC20) [10 marks]: Implements the rector’s vision of FastCoin as ERC20 -token standard, serving as a utility token for financial transactions within the cafeteria system. -This contract manages functions for processing payments, deducting token amounts, and -ensuring secure transactions. -Needless to say, the owner of this contract will be university management. -4. Rewards and Loyalty Contract [10 marks]: Establishes a rewards and loyalty program, -encouraging users to earn tokens based on their purchasing behavior. University management -has multiple meetings with the cafeteria staff – to decide/agree on the specifics of rewards -and loyalty program – without any success. To avoid any further delays in the development of -DAPP, university management has decided to leave it to the batch 20 CS4049 students to come -up with the features of rewards and loyalty program. -This contract interacts with the payment contract to credit loyalty tokens to users' accounts. -5. Promotions and Discounts Contract [10 marks]: Introduces a dynamic promotions system, -allowing the cafeteria staff to offer discounts or special promotions. This contract collaborates -with the order processing contract to apply promotions and calculate adjusted order amounts. -Once again university management has instructed to keep this functionality simple and focus -on the timely completion of the project. -Note: The university management has conveyed clear instructions that the development team -shall complete any missing requirements themselves. -Web Integration: -The web3 application will be developed in JavaScript using React framework. To reduce the time -for development, the university management has given clear instructions to not focus on making -very elegant UI/UX part. The only requirement is functional working of the web application. -The following user interactions must be supported by the web3 application. -Cafeteria staff -• The cafeteria staff can log in to update the menu items and their prices. [10 marks] -• Moreover, the cafeteria staff can offer discounts and special promotions. [10 marks] -• The reward and loyalty program details shall be hardcoded in the smart contract and the -cafeteria staff is not allowed to change the program details. ‘ - -Cafeteria users -• Users log in to the cafeteria shopping system, browse the menu, and place orders through a -user-friendly interface. [10 marks] -• The order processing contract interacts with the menu management contract to fetch item -details, calculates the total order amount, and provides a summary to the users on the web. -[10 marks] -• Users make payments on the web using the utility token through the payment contract, -ensuring secure and transparent transactions. [10 marks] -• The rewards and loyalty contract interacts with the payment contract to credit users with -loyalty tokens based on their purchases. The details must be visible to the users on the web. -[10 marks] -• The promotions contract collaborates with the order processing contract to apply discounts or -promotions to eligible orders. The details must be visible to the users on the web. [10 marks] -Note: No marks will be awarded if you are not able to demonstrate the functionality of a feature. -Project Grading: In addition to the timely submission of the project on classroom, each group will -have to give a 20 mins demonstration. Each member of the group will have to answer individual -questions and get a separate score in terms of percentage contributions on the project. The -percentage contributions ranges from 0% to 100%, where 0% depicts no contributions at all. The -overall marks of each student will be calculated as follows: (percentage contribution) x (group -marks in the project). For example, if a group gets 110 marks in the project (out of 120) and a -group member receives 50% score as contribution, his/her overall marks will be 55. -Moreover, 25% of the final exam will be comprised of the questions from this project. diff --git a/main.go b/main.go deleted file mode 100644 index dc830b7..0000000 --- a/main.go +++ /dev/null @@ -1,12 +0,0 @@ -package main - -func main() { - - var a int = 10 - var b int = 20 - var c int - - // Arithmetic Operators - c = a + b - println("a + b = ", c) -} From 149b1480e66556c3d277674173ec683fd68d28c9 Mon Sep 17 00:00:00 2001 From: Awais Mohammad Date: Sat, 6 Jan 2024 15:59:34 +0500 Subject: [PATCH 2/2] contracts added and updated readme --- README.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..192e396 --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# Project Title: Decentralized FAST Cafeteria Shopping System +It is a group project; however, the size of the group shall not exceed four students. The group +members must be the same as in Project 1. Your submission shall be made in the classroom, and you +shall submit a zip file containing all the source codes. Deadline is 06th + +**Scenario Specifications:** +FAST University has requested batch 20 students currently enrolled in the CS-4049 course to +develop a futuristic DAPP that revolutionizes the way students and staff interact with the cafeteria. +The DAPP aims to provide a seamless and transparent experience for ordering meals, processing +transactions, handling payments via cryptocurrency, and rewarding loyal customers. +The DAPP will have three different stakeholders, i.e., (i) university management, (ii) cafeteria staff, and (iii) cafeteria users. The DAPP must satisfy the following requirements. +1. Smart Contracts: Instead of one monolithic contract, the DAPP must be designed to use +multiple contracts, each playing a crucial role in the cafeteria shopping system. Contracts +should cover functionalities such as menu management, order processing, payments, loyalty +rewards, and promotions. The exact details of the smart contracts will follow later. +2. Inter-contract Functionality: Smart contracts must interact with each other through function +calls, creating a cohesive and interconnected system. For instance, the order contract may call +functions from the menu contract to fetch item details. Likewise, the rewards contract could +interact with the payment contract to credit loyalty tokens. + +3. ERC20 Token Standard Implementation: Instead of using BTC/ETH or any other well- +established coin, the Rector has decided to develop an indigenous coin with the name of + +FastCoin. The smart contract that implements FastCoin must adhere to the ERC20 token +standard. This contract must be designed to facilitate payments, loyalty rewards, and potential +promotions through the FastCoin token. + +### Smart Contracts: + + As a requirement, the following smart contracts must be supported by the DAPP. + + **1. Menu Management Contract [10 marks]:** Manages the cafeteria menu, including items, prices, + and availability. This contract provides functions for the cafeteria staff to add new menu items, + update prices, and check item availability. + + **2. Order Processing Contract [10 marks]:** Facilitates the order processing system, allowing users + to select items, specify quantities, and place orders. This contract calls functions from the + menu management contract to retrieve item details and calculate the total order amount. + + **3. Payment Contract (ERC20) [10 marks]:** Implements the rector’s vision of FastCoin as ERC20 + token standard, serving as a utility token for financial transactions within the cafeteria system. + This contract manages functions for processing payments, deducting token amounts, and + ensuring secure transactions. + Needless to say, the owner of this contract will be university management. + + **4. Rewards and Loyalty Contract [10 marks]:** Establishes a rewards and loyalty program, + encouraging users to earn tokens based on their purchasing behavior. University management + has multiple meetings with the cafeteria staff – to decide/agree on the specifics of rewards + and loyalty programs – without any success. To avoid any further delays in the development of + DAPP, university management has decided to leave it to batch 20 CS4049 students to come + up with the features of rewards and loyalty programs. + This contract interacts with the payment contract to credit loyalty tokens to users' accounts. + + **5. Promotions and Discounts Contract [10 marks]:** Introduces a dynamic promotions system, + allowing the cafeteria staff to offer discounts or special promotions. This contract collaborates + with the order processing contract to apply for promotions and calculate adjusted order amounts. + Once again university management has instructed us to keep this functionality simple and focus + on the timely completion of the project. + + **Note:** The university management has conveyed clear instructions that the development team + shall complete any missing requirements themselves. + +### Web Integration: + The web3 application will be developed in JavaScript using the React framework. To reduce the time + for development, the university management has given clear instructions to not focus on making + very elegant UI/UX parts. The only requirement is the functional working of the web application. + The following user interactions must be supported by the web3 application. + +### Cafeteria staff + • The cafeteria staff can log in to update the menu items and their prices. [10 marks] + • Moreover, the cafeteria staff can offer discounts and special promotions. [10 marks] + • The reward and loyalty program details shall be hardcoded in the smart contract and the + cafeteria staff is not allowed to change the program details. ‘ + +### Cafeteria users + • Users log in to the cafeteria shopping system, browse the menu, and place orders through a + user-friendly interface. [10 marks] + + • The order processing contract interacts with the menu management contract to fetch item + details, calculates the total order amount, and provides a summary to the users on the web. + [10 marks] + + • Users make payments on the web using the utility token through the payment contract, + ensuring secure and transparent transactions. [10 marks] + + • The rewards and loyalty contract interacts with the payment contract to credit users with + loyalty tokens based on their purchases. The details must be visible to the users on the web. + [10 marks] + + • The promotions contract collaborates with the order processing contract to apply discounts or + promotions to eligible orders. The details must be visible to the users on the web. [10 marks]